Java实现对List去重

方式一,使用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,",");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值