首页 > 其他 > 详细

关于List集合的去重

时间:2021-05-23 22:43:34      阅读:20      评论:0      收藏:0      [点我收藏+]

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

技术分享图片

关于List集合的去重

原文:https://www.cnblogs.com/zhangzhixi/p/14801704.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!