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


相关推荐

  • 关于SetCapture() 和 ReleaseCapture()的使用方法

    关于SetCapture() 和 ReleaseCapture()的使用方法  查MSND,对SetCapture()函数的说明为:“该函数在属于当前线程的指定窗体里设置鼠标捕获。一旦窗体捕获了鼠标,全部鼠标输入都针对该窗体,不管光标是否在窗体的边界内。同一时刻仅仅能有一个窗体捕获鼠标。假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体。”一開始我看这个解释误觉得了仅仅要在属于窗体里的一个线程调用了SetCapture(hWn…

    2022年6月5日
  • 伏地魔

    伏地魔

    2021年7月7日
  • 好用的mac录屏软件推荐:白菜录屏mac中文免费版[通俗易懂]

    好用的mac录屏软件推荐:白菜录屏mac中文免费版[通俗易懂]为大家推荐一款好用的mac录屏软件,白菜录屏forMac提供了全屏录制、区域录屏、麦克风录音、后期视频编辑、多格式视频导出、系统声音录制等功能,操作起来十分便捷,而且还是中文免费版,还在找mac录屏软件的朋友可以试试白菜录屏mac版哦!白菜录屏forMac官方介绍白菜录屏是一款小巧却功能强大的mac录屏软件。白菜录屏适用于制作教学视频的博主、录制网课的学生党、记录网络会议或演示的商务人士。白菜录屏formac主要功能全屏录制,区域录屏,支持高帧率,显示摄像头,后期视

    2022年9月24日
  • eclipse设置中没有server选项[通俗易懂]

    用eclipse准备配置tomcat,发现配置中没有server选项,参考各种解决方法之后成功解决。准备工作:1.查看eclipse版本号;在eclipse中点Help,现在AboutEclipseIDE;2.添加server插件;eclipse中点Help,选择InstallNewSoftware…;点Add,Name输入上面查询的eclipse版本号,Location…

    2022年4月17日
  • JS数组合并(5种)

    JS数组合并(5种)前言项目过程中,经常会遇到JS数组合并的情况,时常为这个纠结。这里整理一下。简单而实用的for最容易想到的莫过于for了。会变更原数组,当然也可以写成生成新数组的形式。letarr=[1,2]letarr2=[3,4]for(letiinarr2){arr.push(arr2[i])}console.log(arr)//[1,2,3,4]arr.concat(arr2)会生成新的数组。letarr=[1,2]let

    2022年6月30日
  • 关于docker中执行docker命令的实践

    关于docker中执行docker命令的实践最近在制作给kubernetesjenkinsplugin调用的jenkinsslave(默认情况下,kubernetesjenkins插件使用的是jenkinsci/jnlp-slave)容器镜像,以供自动创建的pod使用。对这个镜像的需求是:希望在pod运行的容器内,执行docker命令,完成dockerbuild,push等一些操作,即dockerindocker。首先,需要在

    2022年5月13日

发表回复

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

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