List去重的几种方法

这篇具有很好参考价值的文章主要介绍了List去重的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

list去重

现在设有Integer类型的ArrayList,list=[0,1,1,3,3,4,5]文章来源地址https://www.toymoban.com/news/detail-742912.html

1.使用contains

        //使用contains
        List<Integer> list1 = new ArrayList<>(list.size());
        list.forEach(i -> {
            if (!list1.contains(i)){
                list1.add(i);
            }
        });

2.使用TreeSet/HashSet/LinkedHashSet

        //使用hashSet去重
        HashSet<Integer> set = new HashSet<>(list);
        ArrayList<Integer> list2 = new ArrayList<>(set);

//hashSet会将元素进行排序,LinkedHashSet不会排序,只会去重
//TreeSet与HashSet作用类似

3.Stream流

        //使用Stream流
        list = list.stream().distinct().collect(Collectors.toList());

4.使用迭代器Iterator

        //使用迭代器Iterator
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            //获取到集合中存储的元素
            Integer next = iterator.next();
            //indexOf()会返回元素第一次出现的位置,lastIndexOf()会返回元素最后出现的位置
            //如果两个方法的返回值不一样,就说明该元素重复了。
            if (list.indexOf(next) != list.lastIndexOf(next)){
                iterator.remove();
            }
        }

5.list中的remove方法

        //使用list中的remove()方法(不推荐)
        for (int i = 0; i < list.size(); i++) {
            for (int j = list.size()-1; j > i; j--){
                if (list.get(i).equals(list.get(j))){
                    list.remove(j);
                }
            }
        }

到了这里,关于List去重的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java stream去重的几种方式

    这个方法会根据元素的 hashCode() 和 equals() 方法来判断是否重复。如果是自定义的类,需要重写这两个方法。 示例: 这个方法可以根据元素的某个属性或者多个属性来去重,比如 name 或者 name+address。这个方法会使用 TreeSet 来排序元素,所以不能保持原来的顺序。 示例: 这个方

    2024年02月13日
    浏览(46)
  • 【Java】List集合去重的方式

    TreeSet可以将字符串类型的数据按照字典顺序进行排序,首字母相同则看第二位 去重前的集合元素:22 去重前的集合元素:11 去重前的集合元素:33 去重前的集合元素:66 去重前的集合元素:22 去重后的集合:[11, 22, 33, 66] 由于Set的特性是无序且不可重复,我们利用这个特性进

    2024年02月04日
    浏览(44)
  • sql数据库去重的几种情况

    本文主要总结数据库去掉重复数据的方法 去掉重复数据的方法: 第一种:distinct 根据单个字段去重,能精确去重; 作用在多个字段时,只有当这几个字段的完全相同时,才能去重; distinct只能放在SQL语句中的第一个,才会起作用 上图举例说明:图中student_name 为 tes

    2024年02月12日
    浏览(34)
  • Java合并两个List并去掉重复项的几种做法

    一、前言 工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样,请继续往下看 二、使用stream方式进行去重(需要jdk1.8及以上) 可以很清楚的看出通过Stream完成的代码看上去更加简洁流畅  三、使用HashSet集合的方式进行去重

    2024年02月11日
    浏览(39)
  • 【Java】Java合并两个List后并去掉重复项的几种做法

    工作中很多时候需要用到合并两个List并去除其中的重复内容,这是一个很简单的操作,实现的方法也多种多样。 下面以具体实例展示给大家~ 可以很清楚的看出通过Stream完成的代码看上去更加简洁流畅 这样做后的list就是合并并去重后的结果

    2024年02月11日
    浏览(45)
  • List转换String,String转List的几种方法

    将一个Java集合List转换为String方法比较多,可以使用String.join()、StringBuilder、Stream流等方法。下面举几个常用的示例: 1.使用String.join()方法 2.使用循环和字符串拼接的方式将列表转换为字符串 3.使用Java 8的Stream API来将列表转换为字符串 4.使用Apache Commons Lang库的 StringUtils 类

    2024年02月11日
    浏览(29)
  • Stream流实践(二):list 对象数组根据某字段去重的三种基本思路

    相信大家对于list简单数组的去重很熟悉了,例如以下代码 那我们来探讨下,对于list中保存为对象的数组,根据内部对象的 某一个字段 去重有什么好的思路呢? 给出一个简单的Student对象 大家学废了吗?

    2024年02月16日
    浏览(27)
  • 【面试题】如何实现数组去重的?有几种方式?

     前端面试题库 ( 面试必备)              推荐:★★★★★ 地址:前端面试题库 【国庆头像】- 国庆爱国 程序员头像!总有一款适合你! 通过两层循环对数组元素进行逐一比较,然后通过splice方法来删除重复的元素。此 方法对NaN是无法进行去重的 ,因为进行比较时

    2024年02月10日
    浏览(28)
  • # java合并两个list 并去重,指定保留其中一个list的重复数据

    在Java中,有多种方法可以合并两个List并去重,指定保留其中一个List的重复数据。下面介绍几种常见的方法,并附上代码示例。 该方法首先将一个List的所有元素加入到目标List中,然后遍历另一个List,如果目标List中不包含该元素,则将该元素加入到目标List中。最后得到的就

    2024年02月02日
    浏览(42)
  • jdk8两个List取交集、差集、并集(不去重)、并集(去重)

    jdk8两个List取交集、差集、并集(不去重)、并集(去重) demo代码: 输出结果:

    2024年02月15日
    浏览(215)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包