• 关于List集合的去重


    List集合的去重:转为Set集合进行去重

    public void test2() {
        // 准备数据
        Integer[] arr = {42, 14, 28, 34, 56, 2, 14};
        List list = new ArrayList(Arrays.asList(arr));
        // 准备set集合
        Set set = new HashSet();
        set.addAll(list);
        // 清空list原数据,并将新的去重后的数据进行一个添加
        list.clear();
        // 将指定集合中的所有元素追加到此列表的末尾
        list.addAll(set);
        System.out.println("List=>" + list);
        System.out.println("Set=>" + set);
    }
    

     注意:如果List集合中存放的是对象的话,通过Set集合去重需要需要注意,需要在对象中重写HashCode跟equals方法。

    List集合的去重:通过List的contains

    public void test2() {
        // 准备数据
        Integer[] arr = {42, 14, 28, 34, 56, 2, 14};
        List<Integer> list = new ArrayList<>(Arrays.asList(arr));
        // 创建一个新的List集合,用于保存去重重复数据的集合
        List<Integer> newList = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            // 判断newList集合中是否包含元素信息
            if (!newList.contains(list.get(i))) {
                newList.add(list.get(i));
            }
        }
        System.out.println("List=>" + newList);
    }
    

    List集合的去重:通过Stream流

    public void test2() {
        // 准备数据
        Integer[] arr = {42, 14, 28, 34, 56, 2, 14};
        List list = new ArrayList(Arrays.asList(arr));
        // 使用JDK8的Stream流进行去重
        List newList = (List) list.stream().distinct().collect(Collectors.toList());
        System.out.println("List=>" + newList);
    }
    

  • 相关阅读:
    Centos设置阿里云yum源
    十大排序算法之Java实现
    什么是DFS和BFS?
    计算机专业技能-Java专项练习
    Lamda 表达式
    JavaWeb实现分页的四种方法
    Linux 常用关机命令及其比较
    Chocolatey常用命令
    JAVA++:JAVA中try、catch、finally带return的执行顺序
    MySQL++:MySQL 多行数据合并 GROUP_CONCAT
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14801704.html
Copyright © 2020-2023  润新知