最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另乙個list集合,一種是用賦給set集合再返回給list集合。
但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序呢?
試了一下,也是可以的,幾種方法在不同情況下都有各自的優勢。現在將**寫出來,比較一下。
//set集合去重,不打亂順序
public static void main(string args)
}system.out.println( "去重後的集合: " + newlist);
}
//遍歷後判斷賦給另乙個list集合
public static void main(string args)
}system.out.println( "去重後的集合: " + newlist);
}
//set去重
public static void main(string args)
//set去重(縮減為一行)
public static void main(string args)
hashset不進行排序,還有一種方法是用treeset,去重並且按照自然順序排列,將hashset改為treeset就可以了。(原本的順序是改變的,只是按照字母表順序排列而已)
//去重並且按照自然順序排列
list newlist = new arraylist(new treeset(list));
去除List集合中的重複值 去除陣列的重複值
一 最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另乙個list集合,一種是用賦給set集合再返回給list集合。但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序呢?試了一...
去除List集合中重複的元素
下面我就以實際操作來介紹三種去除重複的方法 1.效率相對來說是最慢的 fans articletagmng.find f1 獲取整個list if fans.isempty 上面的雙重迴圈用處很常見,像以前學過的選擇排序 氣泡排序等都用到了。但是用在這裡卻是效率最低的方法,因為當內迴圈下的 if 條...
list集合去除重複物件
物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,就需要在物件的實體類裡面重寫public boolean equals object obj 和 public int ha...