一、最近專案中需要對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 條...