去除ArrayList容器中的相同的物件元素

2021-06-22 21:49:28 字數 1824 閱讀 3688

boolean

retainall(collection<?> c);

在網上查到了 retainall方法

然後就在**中新增

listemployeeofintermediarys 

= new arraylist();

listtemplist

= new arraylist();

///
///
//
if(templist != null)
employeeofintermediarys.addall(templist);

}

然後發現不可以,查了好多東西,發現**是對的,只是需要重寫equals方法。

不知道為什麼,因為之前寫的小demo中用自定義的類book,如下,是可以正常使用的

public class book
/略

listbooks = new arraylist();

listtemplist = new arraylist();

book book1 = new book();

book1.setid(1);

book1.setnamestring("dkjdf");

book book2 = new book();

book2.setid(2);

book2.setnamestring("到加福祿壽");

book book3 = new book();

book3.setid(3);

book3.setnamestring("dj地方");

book book4 = new book();

book4.setid(4);

book4.setnamestring("dkjdf");

book book5 = new book();

book5.setid(5);

book5.setnamestring("到加福祿壽");

book book6 = new book();

book6.setid(6);

book6.setnamestring("dj地方");

books.add(book1);

books.add(book2);

books.add(book5);

books.add(null);

templist.add(book1);

templist.add(book4);

templist.add(null);

templist.retainall(books);

system.out.println(templist.get(0).booktostring());

whatever,準備找一找collection的源**看看,

重寫了employee中的equals方法後 。如下:

@override

public boolean equals(object c)

employee eoi = (employee) c;

if (eoi.getuserguid().equals(userguid))

return false;

}

上面的**就可以正常執行了。

ArrayList容器 去除重複元素

需求 1.將自定義物件作為元素存到arraylist集合中,並去除重複元素 比如存人的物件,同姓名同年齡,視為同乙個人,為重複元素 思路 1.對人建立乙個類,將資料封裝進建立的人物件裡 2.定義容器,存入容器裡 3.遍歷,查重,取出 list 集合判斷元素是否相同contains,用equals 而...

容器 ArrayList學習

陣列也是一種容器,但是容器更加靈活 更加強大,它的容量是隨時可擴的。set list繼承collection 實現set介面 hashset 實現list介面 arraylist linkedlist 實現map介面 hashmap。list是有序 可重複的容器 list介面的實現類有 arrayl...

ArrayList去除重複資料

arraylist元素去重是我們經常使用的功能,最容易想到的就是雙層for迴圈去重,這裡列舉出其他的兩種方式,如下 使用list的contains方法實現,如下 list list newarraylist list.add 序號 99990aa1 不符合規範 list.add 序號 99990aa...