List集合去重

2021-06-21 15:14:50 字數 2217 閱讀 9697

//

第一種:list每remove掉乙個元素以後, //

後面的元素都會向前移動,此時如果執行i=i+1, //

則剛剛移過來的元素沒有被讀取。

string str1 =newstring(

"abcde1");

string str2 =newstring(

"abcde2");

string str3 =newstring(

"abcde3");

string str4 =newstring(

"abcde4");

string str5 =newstring(

"abcde5");

list list =newarraylist();

list.add(str1);

list.add(str2);

list.add(str3);

list.add(str4);

list.add(str5);

system.

out.println(

"list.size()="

+list.size()); //

每移除乙個元素以後再把i移回來

for(inti = 0; i < list.size(); i++) }

system.

out.println(

"after remove:list.size()="

+ list.size());

//第二種:定義乙個空的set,把兩個list中的元素依次往這個set中存放,

//set

中的元素是不重複的

arraylist

l1 =newarraylist

();arraylist

l2 =newarraylist

();l1.add(

"1");

l1.add(

"2");

l1.add(

"3");

l1.add(

"4");

l1.add(

"5");

l2.add(

"3");

l2.add(

"4");

l2.add(

"5");

l2.add(

"6");

l2.add(

"7");

set set =newhashset();

for(string i :l1)

for(string i :l2)

arraylist

l3 =newarraylist

(set);

collections.sort(l3);  

//這裡排序

system.

out.println(l3);

//第三種:

list

temp=newarraylist

(l1);

//用來儲存兩者共同有的資料

temp.retainall(l2);

l1.removeall(temp);

//l1

中去掉兩者共同有的資料

l2.removeall(temp);

//l2

中去掉兩者共同有的資料

list

l5=newarraylist

();l5.addall(l1);

l5.addall(l2);

system.

out.println(l5);

//第四種:用set

sets =newhashset(l1);

//將11放到set中

for(string i : l2) }

system.

out.println(s); }

List集合去重

首先,我們都知道list集合是乙個儲存有序可重複元素的容器,那麼如果要對乙個list去重有哪些方法呢?方式一 迴圈list中的所有元素然後刪除重複 public static list removeduplicate list list return list public static list ...

list集合去重問題

集合去掉重複元素 1 字串去重 public static void main string args for string s set 2 物件去重 package com.myproj.pojo public class people public void setname string nam...

如何對list集合物件去重

我們知道,list集合是乙個元素有序,可重複的集合,集合中每個元素都有對應的順序索引,我們通過索引進行取值賦值 那麼,當list集合中的元素為多個屬性組成的物件時,如何對list集合進行去重 因為物件是在記憶體中開闢一塊區域進行儲存,每個物件的值哪怕相同,但只要是你新new出來的,代表的也是不同的物...