zoukankan      html  css  js  c++  java
  • 关于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);
    }
    

  • 相关阅读:
    解析Zigbee技术在智能家居应用中的优缺点
    ZigBee无线网络技术在小区路灯照明系统的应用
    Zigbee技术特点
    梯度下降法-理解共轭梯度法
    感知机--理解系数向量和样本点递归
    fisher线性判别
    iso data 聚类算法
    近邻算法--类与类间最小损失函数
    聚类算法--理解最大最小距离分类
    类间距离测度方法
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14801704.html
Copyright © 2011-2022 走看看