list集合去除重復(fù)對(duì)象的實(shí)現(xiàn)
對(duì)象重復(fù)是指對(duì)象里面的變量的值都相等,并不定是地址。list集合存儲(chǔ)的類型是基礎(chǔ)類型還比較好辦,直接把list集合轉(zhuǎn)換成set集合就會(huì)自動(dòng)去除。
當(dāng)set集合存儲(chǔ)的是對(duì)象類型時(shí),需要在對(duì)象的實(shí)體類里面重寫public boolean equals(Object obj) {} 和 public int hashCode() {} 兩個(gè)方法。
實(shí)體類
public class Student { public String id; public String name; public Student() { } public Student(String id,String name) { this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object obj) { Student s=(Student)obj; return id.equals(s.id) && name.equals(s.name); } @Override public int hashCode() { String in = id + name; return in.hashCode(); } }
測試類
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class QuSame { public static void main(String[] args) { List<Student> stu = new ArrayList<Student>(); stu.add(new Student("1","yi")); stu.add(new Student("3","san")); stu.add(new Student("3","san")); stu.add(new Student("2","er")); stu.add(new Student("2","er")); //set集合保存的是引用不同地址的對(duì)象 Set<Student> ts = new HashSet<Student>(); ts.addAll(stu); for (Student student : ts) { System.out.println(student.getId()+"-"+student.getName()); } } }
以上這篇list集合去除重復(fù)對(duì)象的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java判斷List中有無重復(fù)元素的方法
- 獲取python的list中含有重復(fù)值的index方法
- python生成不重復(fù)隨機(jī)數(shù)和對(duì)list亂序的解決方法
- Java中ArrayList去除重復(fù)元素(包括字符串和自定義對(duì)象)
- java 查找list中重復(fù)數(shù)據(jù)實(shí)例詳解
- java正則表達(dá)式實(shí)現(xiàn)提取需要的字符并放入數(shù)組【ArrayList數(shù)組去重復(fù)功能】
- Android中ListView異步加載圖片錯(cuò)位、重復(fù)、閃爍問題分析及解決方案
- 2種Java刪除ArrayList中的重復(fù)元素的方法
- android中ListView多次刷新重復(fù)執(zhí)行g(shù)etView的解決方法
- 兩個(gè)List集合取相同重復(fù)數(shù)據(jù)的方法
相關(guān)文章
Spring AOP手動(dòng)實(shí)現(xiàn)簡單動(dòng)態(tài)代理的代碼
今天小編就為大家分享一篇關(guān)于Spring AOP手動(dòng)實(shí)現(xiàn)簡單動(dòng)態(tài)代理的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03使用Get方式提交數(shù)據(jù)到Tomcat服務(wù)器的方法
這篇文章將介紹向服務(wù)器發(fā)送數(shù)據(jù),并且服務(wù)器將數(shù)據(jù)的處理結(jié)果返回給客戶端,本文給大家介紹使用Get方式向服務(wù)器發(fā)送數(shù)據(jù),感興趣的朋友一起學(xué)習(xí)吧2016-04-04Springboot整合redis實(shí)現(xiàn)發(fā)布訂閱功能介紹步驟
發(fā)布訂閱作為一種設(shè)計(jì)思想在很多開源組件中都有體現(xiàn),比如大家熟知的消息中間件等,可謂把發(fā)布訂閱這一思想體現(xiàn)的淋漓盡致了2022-09-09springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問
本文主要介紹了springboot整合minio實(shí)現(xiàn)文件上傳與下載且支持鏈接永久訪問,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01