集合之間的轉換 》元素去重

2021-10-04 02:40:38 字數 795 閱讀 8121

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,...