去除list集合中重複元素
阿新 • • 發佈:2020-12-11
1.使用LinkedHashSet刪除arraylist中的重複資料
通過set不重複的特性完成
優點:能保持新增到其中的資料的順序
public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3, 6, 8, 9, 5, 6, 4, 2, 1, 3); System.out.println(list); LinkedHashSet<Integer> linkedHashSet = new LinkedHashSet<>(list); ArrayList<Integer> arrayList = new ArrayList<>(linkedHashSet); System.out.println(arrayList); }
輸出結果
2.使用java8新特性stream進行List去重
要從arraylist中刪除重複項,我們也可以使用java 8 stream api。
使用steam的distinct()方法返回一個由不同資料組成的流,通過物件的equals()方法進行比較。
收集所有區域資料List使用Collectors.toList()。
public static void main(String[] args) { List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 2, 3, 6, 8, 9, 5, 6, 4, 2, 1, 3); System.out.println(list); List<Integer> integerList = list.stream().distinct().collect(Collectors.toList()); System.out.println(integerList); }
輸出結果