List集合去重

本文介绍了三种在Java中去除List重复元素的方法。首选方法是利用Set集合的无重复特性进行去重,此方法简洁高效。另外两种方法是通过双层for循环实现,一种是遍历整个列表并删除重复项,另一种是从后向前遍历以避免在遍历过程中改变列表大小导致的问题。每种方法都有其适用场景和效率考量。
摘要由CSDN通过智能技术生成

方法一:利用Set集合去重(首推)

    /**
     * 使用Set集合去重
     * @param numList
     */
    private static void useSet(List<Integer> numList) {
        Set<Integer> numSet = new HashSet<>();
        for (int i = 0; i < numList.size(); i++) {
            numSet.add(numList.get(i));
        }
        System.out.println();
        System.out.println("=============="+numSet.size());
        Iterator<Integer> iterator = numSet.iterator();
        while(iterator.hasNext()){
            System.out.print(" "+iterator.next());
        }
    }

方法二:使用双层for循环去重

    //使用双层for循环去重
    private static void useFor(List<Integer> numList) {
        for (int i = 0; i < numList.size(); i++) {
            for (int j = 0; j < numList.size(); j++) {
                if(numList.get(i)==numList.get(j) &&i !=j){
                    numList.remove(j);
                }
            }
        }
        System.out.println();
        System.out.println("==========="+numList.size());
        for (Integer num:
             numList) {
            System.out.print(" "+num);
        }
    }

方法三:使用双层for循环

    //使用双层for循环进行判断
    private static void useFor2(List<Integer> numList) {
        for (int i = 0; i < numList.size(); i++) {
            for (int j = numList.size()-1; j > i; j--) {
                if(numList.get(i)==numList.get(j)){
                    numList.remove(j);
                }
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值