兩個List,去掉重複的。remove

2021-08-26 13:06:06 字數 1238 閱讀 5089

public static void main(string args) 

} system.out.println("after remove:list.size()=" + list.size());

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

//set中的元素是不重複的

arraylistl1 = new arraylist();

arraylistl2 = new arraylist();

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");

/*l1.add(1);

l1.add(2);

l1.add(3);

l1.add(4);

l2.add(3);

l2.add(4);

l2.add(5);

l2.add(6);*/

set set = new hashset();

for (string i : l1)

for(string i : l2)

arraylistl3 = new arraylist(set);

collections.sort(l3); //這裡排序

system.out.println(l3);

//第三種:

list temp=new arraylist(l1);//用來儲存兩者共同有的資料

temp.retainall(l2);

l1.removeall(temp);//l1中去掉兩者共同有的資料

l2.removeall(temp);//l2中去掉兩者共同有的資料

list l5=new arraylist();

l5.addall(l1);

l5.addall(l2);

system.out.println(l5);

//第四種:用set

set s = new hashset(l1);//將1放到set中

for(string i : l2)

}system.out.println(s);

}

兩個list比較,去重複

現有list1,list2,兩個list內容做比較,剔除list1中重複的元素,是乙個比較簡單的問題,直接貼 int size list1.size for int i 0 i list2.size i 不過上述方法效率都不高,尋找更好的方法中!當然,我們可以不用自己比較,直接使用list提供的方法...

list去重及求兩個list中元素的重複率

假設有a,b兩個list 求兩個list中相同元素在其中乙個list中的佔比。思路 1.分別用set 去除兩個list中個字重複的元素 2.將兩個list相加構成第三個listc 3.a,b各自去重後元素個數的和減去c中去重後元素的個數就是連個list重複的元素 a a b c ab df c b ...

去掉list中的重複值

兩種方式,一種無順序,一種維持原list的元素順序。hastset根據hashcode判斷是否重複,資料不會重複 list order not maintained public static void removeduplicate arraylist arllist 通過hashset的add方...