Java实现对List去重

Java实现对List去重方式一,使用for循环遍历去除List中的重复元素代码如下 publicstaticvoidmain(String[]args){Test07test07=newTest07();System.out.println(test07.getList());}publicListgetList(){…

大家好,又见面了,我是你们的朋友全栈君。

方式一,使用for循环遍历去除List中的重复元素代码如下

复制代码

   public static void main(String[] args) {
        Test07 test07 = new Test07();
        System.out.println(test07.getList());
    }

    public List getList() {
        List originalList = new ArrayList();
        originalList.add(1);
        originalList.add(3);
        originalList.add(3);
        originalList.add(5);
        originalList.add(7);
        originalList.add(7);
        originalList.add(13);

        List tempList = new ArrayList();
        for (Object object : originalList) {
            if (!tempList.contains(object)) {
                tempList.add(object);
            }
        }
        return tempList;
    }

复制代码

方式二,使用Set去重代码片段如下

     // 利用set集合唯一性去重
        Set set = new HashSet(originalList);
        List tempList = new ArrayList(set);
        return tempList;

方式三,使用 TreeSet去除重复元素

     TreeSet treeSet = new TreeSet(originalList);
        List tempList = new ArrayList();
        tempList.addAll(treeSet);
        return tempList;

方法四,使用java8新特性

  List newList = oldList.stream().distinct().collect(Collectors.toList());

List<String> oldList = Arrays.asList(mainRisk.getParentId());
                        //根据id查找对应的code并去重
                        String ids[] = sjIds.toString().split(",");
                        if(ids!=null && ids.length>0){
                            for(int i =0;i<ids.length;i++){
                                CoreRisk addRisk  = coreRiskMapper.selectByPrimaryKey(mainRiskId);
                                oldList.add(addRisk.getCode());
                            }
                        }
                        List newList = oldList.stream().distinct().collect(Collectors.toList());
                        parentNew = StringUtils.join(newList,",");

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141487.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月25日 下午7:40
下一篇 2022年5月25日 下午7:40


相关推荐

  • VMware虚拟机开启导致宿主机蓝屏

    VMware虚拟机开启导致宿主机蓝屏开启虚拟机的虚拟化后,运行VMware中虚拟机导致win10蓝屏备注;win10家庭中文版20H2+VMware16.0由于需要开启虚拟化功能,运行VMware中的eve虚拟机。且eve虚拟机也要开启虚拟化才能运行qemu镜像。1.但是开启eve的虚拟化后,虚拟机无法打开,解决方案:1.cmd管理员身份打开,输入Msinfo32,查看是否关闭基于虚拟化的安全性。如果未关闭输入bcdeditset/hypervisorlaunchtypeoff,然后重启。下面在控制面板取消勾选

    2022年8月21日
    18
  • 函数依赖关系的例子_部分函数依赖

    函数依赖关系的例子_部分函数依赖这里写自定义目录标题完全函数依赖、部分函数依赖和传递函数依赖举例1.完全依赖:2.部分函数依赖:传递函数依赖:完全函数依赖、部分函数依赖和传递函数依赖举例1.完全依赖:通过{学生学号,选修课程名}可以得到{该生本门选修课程的成绩},而通过单独的{学生学号}或者单独的{选修课程名}都无法得到该成绩,则说明{该生本门选修课程的成绩}完全依赖于{学生学号,选修课程名}2.部分函数依赖:通过{学生学号,课程号}可以得到{该生姓名},而通过单独的{学生学号}已经能够得到{该生姓名},则说明{该生姓

    2025年5月25日
    5
  • 在Eclipse中使用JUnit5进行单元测试

    在Eclipse中使用JUnit5进行单元测试关于Junit的介绍:官方介绍:JUnit5是下一代的JUnit。其目标是为JVM上的开发端测试创建一个最新的基础。这包括关注Java8和以上,以及支持多种不同的测试风格。JUnit5是JUnitLambda及其在Indiegogo上众筹活动的结果。引用度娘的介绍如下:JUnit是一个Java语言的单元测试框架。它由KentBeck和ErichGamma建立,逐渐成…

    2025年6月1日
    5
  • c语言一些简单的程序

    c语言一些简单的程序三个数找最大值 include lt stdio h gt intmain inta b c scanf d d d amp a amp b amp c intmaxs max a max b c printf d maxs intmax intx inty intt t x amp g

    2026年3月16日
    3
  • divmod( )函数[通俗易懂]

    divmod( )函数[通俗易懂]>>divmod(5,2)>>(2,1)divmod函数可同时返回商和余数。

    2025年6月25日
    6
  • 金融安全资讯精选 2017年第十二期 Gartner预测未来安全技术,Q3安全投融资分析,WPA2 KRACK漏洞分析报告,云上数据保护方法论…

    金融安全资讯精选 2017年第十二期 Gartner预测未来安全技术,Q3安全投融资分析,WPA2 KRACK漏洞分析报告,云上数据保护方法论…摘要:Momentum发布Q3安全行业投融资分析报告WiFi网络WPA2KRACK漏洞分析报告全球人工智能领域专利分析云上如何保护企业重要数据不被窃取【金融安全动态】Gartner对未来安全技术和市场的最新预测概要:(1)到2020年,0DAY漏洞在攻击中发挥的作用将会不到0.1%,这里面不包括敏感的政府目标;(2)到2020年,渗透测试智能化工具将会从2016年的0%增加到10%;(3…

    2022年5月27日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号