1. 程式人生 > 其它 >去除list集合中重複元素

去除list集合中重複元素

技術標籤:list集合去重複java

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);
    }

輸出結果
在這裡插入圖片描述