arraylist有以下元素: 「a」,「f」,「b」,「c」,「a」,「d」,
需求:去掉集合元素中重複的元素
案例分析:
首先要確認這些元素在哪種集合中,再想想我們所學過的集合中有乙個元素不能重複的集合:hashset,在不打亂原元素順序的情況下,我們選擇用linkedhashset集合.
利用for迴圈遍歷arraylist,把list中的元素都賦值到set集合中.
//定義arraylist集合儲存元素
arraylist
list =
newarraylist
<
>()
; collections.
addall
(list,
"a",
"f",
"b",
"c",
"a",
"d")
;//linkedhashset,把list裡的內容存到set集合中,保證不打亂順序
linkedhashset
hashset =
newlinkedhashset
<
>()
;for
(int i =
0; i < list.
size()
; i++
)for
(string s : hashset)
執行結果:
afb
cd
List集合去重
第一種 list每remove掉乙個元素以後,後面的元素都會向前移動,此時如果執行i i 1,則剛剛移過來的元素沒有被讀取。string str1 newstring abcde1 string str2 newstring abcde2 string str3 newstring abcde3 s...
List集合去重
首先,我們都知道list集合是乙個儲存有序可重複元素的容器,那麼如果要對乙個list去重有哪些方法呢?方式一 迴圈list中的所有元素然後刪除重複 public static list removeduplicate list list return list public static list ...
c 物件集合去重 C List集合去重操作注意點
今天除錯 時發現list的distinct方法在對引用型別操作時並沒有去重,後來查閱資料發現list去重操作物件集合時比較的是物件的乙個個引用位址,因為集合裡的物件都是乙個個單獨的例項,所以並不會把內容相同的元素去掉,要想真正去重還是要自己寫方法篩選,但是值型別集合的就可以直接操作,包括unoin,...