一行代码 实现集合去重

2022-04-13 15:56:23 浏览数 (1)

1. 代码写法:(这是针对元素为基本数据类型的集合)

针对引用类型元素去重,可根据元素内多个元素去重,见另一文:集合去重(元素为引用类型)--java 8 新特性

代码语言:javascript复制
   /**
     * 基本数据类型去重
     *
     * @param list
     * @param <T>
     * @return
     */
    public static <T> List<T> deleteSame(List<T> list) {
        return list.stream().distinct().collect(Collectors.toList());
    }

2. 测试:

代码语言:javascript复制
        List<String> strList = new ArrayList(){{add("我");}{add("你");}{add("他");}{add("他");}{add("他");}};
        List<Integer> intList = new ArrayList(){{add(11);}{add(11);}{add(33);}{add(11);}};

        System.out.print("n 去重前:n");
        listFor(strList);
        System.out.println("");
        listFor(intList);

        System.out.println("n 去重后:");
        System.out.println(deleteSame(strList));
        System.out.println(deleteSame(intList));


...


   /**
     *  for循环
     * @param list
     * @param <T>
     */
    public static <T> void listFor(List<T> list) {
        list.forEach(each -> System.out.print(each " "));
    }

运行结果:

0 人点赞