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


相关推荐

  • set max_containsvalue方法

    set max_containsvalue方法•setMaxResults是用来配合数据库生成sql的,在sql里就控制查询的记录数目。  o=query.setMaxResults(1).uniqueResult(); uniqueResult();hibernate的参考手册,query接口提供了一个更好的方法用来获取实例,当返回的实例明确只有一个或者为null的时候。这个方法是这样用的当你能够肯定你…

    2022年9月10日
    0
  • 视频编解码优化的几个概念[通俗易懂]

    视频编解码优化的几个概念[通俗易懂]视频编解码1.neon2.gpu加速3.汇编neon在移动平台上进行一些复杂算法的开发,一般需要用到指令集来进行加速。目前在移动上使用最多的是ARM芯片。ARM是微处理器行业的一家知名企业,其芯片结构有:armv5、armv6、armv7和armv8系列。芯片类型有:arm7、arm9、arm11、cortex系列。指令集有:armv5、armv6和neon指令。关于ARM到知识参考:ht

    2022年7月15日
    21
  • 第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性[通俗易懂]

    第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性[通俗易懂]1白噪声过程:零均值,同方差,无自相关(协方差为0)以后我们遇到的efshow如果不特殊说明,就是白噪声过程。对于正态分布而言,不相关即可推出独立,所以如果该白噪声如果服从正态分布,则其还将互相

    2022年8月1日
    3
  • vue 集成高德地图进行批量标注和信息窗体展示

    vue 集成高德地图进行批量标注和信息窗体展示                                   vue集成高德地图进行批量标注和信息窗体展示         高德地图进行地理位置的标注和信息窗体展示是我们很常用的一个功能,其实高德api里面已经清楚的说明怎么用了,但是自己总结一下记录在自己的笔记里,也是有些许好处的。高德api样列展示地址是:https://lbs.amap.com/api/javascript…

    2022年5月21日
    66
  • Visual Studio 2010旗舰版正式版序列号

    Visual Studio 2010旗舰版正式版序列号用记事本打开:Setup–&gt;setup.sdb文件,将[ProductKey]YR3W8FCM2B7BKF9HMQFTCH7WK改成[ProductKey]YCFHQ9DW

    2022年7月20日
    14
  • tf版安装_国际贸易术语2010图解

    tf版安装_国际贸易术语2010图解TFS2010安装环境是操作系统为WindowsServer2003SP2(X86),WindowsServer2003R2(X86),WindowsServer2003R2SP2(X86),WindowsServer2008,WindowsServer2008R2。必备组件为:IIS,SQLServer2008,SharePoint(WindowsShare

    2022年9月23日
    0

发表回复

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

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