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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springboot从入门到实战(办公应用从入门到精通书籍)

    对于SpringBoot,很多人咨询了我的研究学习资料来源,除官方文档外,特例完整整理一下自己的平时参考学习其他资料,以及分享实战项目源码和代码资源,供大家参考学习主要教程一、我的SpringBoot系列教程(2020.3更新)我的SpringBoot系列进阶教程(Github仓库源码地址)基于springboot2.0.6.RELEASE版本的代码演示集合:SpringBo…

    2022年4月14日
    49
  • scrapy安装步骤_scrapy官网

    scrapy安装步骤_scrapy官网安装scrapy过程中出现各种包安装错误,所以自己一直看教程知道scrapy安装需要准备好各种环境。这些包按照从下到上的顺序下载,lxml这个包按下文教程安装。不想看过多文字和图片的懒人们可看教程视频:http://www.iqiyi.com/w_19rz36pjft.html利用pipinstall命令安装pywin32,pyopenssl.这两个包可在cmd安装成功pip…

    2026年1月17日
    4
  • CImage 缩放图片

    CImage 缩放图片BOOLCreateStretchImage(constCImage&src,CImage&dest,intstretchWidth,intstretchHeight){if(src.IsDIBSection()){dest.Create(stretchWidth,stretchHeight,32);HDCdestDC=dest.GetDC();::SetStretchBltMode.

    2022年6月23日
    38
  • Linux常用命令大全(非常全!!!)

    Linux常用命令大全(非常全!!!)Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch显示机器的处理器架构uname-m显示机器的处理器架构uname-r显示正在使用的内核版本d…

    2022年4月27日
    34
  • visa仪表matlab,通过VISA接口获取安捷伦示波器捕获的波形

    visa仪表matlab,通过VISA接口获取安捷伦示波器捕获的波形CapturingawaveformfromanAgilentoscilloscopeoverastandardVISAinterfaceMATLABisasoftwareenvironmentandprogramminglanguagewithover1,000,000users.MATLABextendsthefunctionalityof…

    2022年10月12日
    7
  • 关于红黑树的学习笔记

    关于红黑树的学习笔记

    2021年6月14日
    104

发表回复

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

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