去除List集合中的重複值 去除陣列的重複值

2022-06-28 10:45:13 字數 1502 閱讀 8401

一、最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另乙個list集合,一種是用賦給set集合再返回給list集合。 

但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序呢? 

試了一下,也是可以的,幾種方法在不同情況下都有各自的優勢。現在將**寫出來,比較一下。

二、陣列去重,和上述list去重類似

listli1 = new list;

listli2 = new list;

listli3 = new list;

listli4 = new list;

方法一、

hashseths = new hashset(li1); //此時已經去掉重複的資料儲存在hashset中

方法二、

for (int i = 0; i < li2.count; i++)  //外迴圈是迴圈的次數}}

方法三、

//把相同的用null代替。

for (int i = 0; i < li3.count; i++)}}

方法四、

//這方法跟上面的一樣,只是變了邏輯

for (int i = 0; i < li4.count - 1; i++)}}

}輸出結果:

console.writeline("li1去除重複後的值為");

hs.tolist().foreach(item => console.writeline(item));

console.writeline("li2去除重複後的值為");

li2.foreach(item => console.writeline(item));

console.writeline("li3去除重複後的值為");

li3.foreach(item => console.writeline(item));

console.writeline("li4去除重複後的值為");

去除List集合中的重複值

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另乙個list集合,一種是用賦給set集合再返回給list集合。但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序呢?試了一下,...

list集合去除重複物件

物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,就需要在物件的實體類裡面重寫public boolean equals object obj 和 public int ha...

去除List集合中重複的元素

下面我就以實際操作來介紹三種去除重複的方法 1.效率相對來說是最慢的 fans articletagmng.find f1 獲取整個list if fans.isempty 上面的雙重迴圈用處很常見,像以前學過的選擇排序 氣泡排序等都用到了。但是用在這裡卻是效率最低的方法,因為當內迴圈下的 if 條...