//
第一種: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出來的,代表的也是不同的物...