List去重有几种方式

发布于:2024-02-27 ⋅ 阅读:(52) ⋅ 点赞:(0)

目录

1、for循环添加去重

2、for 双循环去重

3、for 双循环重复坐标去重

4、Set去重

5、stream流去重

1、for循环添加去重

    List<String> oldList = new ArrayList<>();
        oldList.add("张三");
        oldList.add("张三");
        oldList.add("李四");
        oldList.add("王五");
        oldList.add("赵六");
        List<Object> newList = Lists.newArrayList();
        for (String name : oldList) {
            if (!newList.contains(name)){
                newList.add(name);
            }
        }
        System.out.println("原本的集合原素"+oldList);
        System.out.println("去重后的集合"+newList);
        // An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

2、for 双循环去重


   @Test
    public void test77() {
        List<String> oldList = new ArrayList<>();
        oldList.add("张三");
        oldList.add("张三");
        oldList.add("李四");
        oldList.add("王五");
        oldList.add("赵六");
 
        for (int i = 0; i < oldList.size(); i++) {
            for (int j = oldList.size() - 1; j > i; j--) {
                if (oldList.get(j).equals(oldList.get(i))) {
                    oldList.remove(j);
                }
            }
        }
 
        System.out.println("原本的集合元素:" + oldList);
    }
 
}

打印结果如下:

在这里插入图片描述

3、for 双循环重复坐标去重


   @Test
    void contextLoads4() {
        List<String> oldList = new ArrayList<>();
        oldList.add("张三");
        oldList.add("张三");
        oldList.add("李四");
        oldList.add("王五");
        oldList.add("赵六");
        List<String> newList = Lists.newArrayList();
        newList.addAll(oldList);
        for (String name : newList) {
            if (oldList.indexOf(name) != oldList.lastIndexOf(name)) {
                oldList.remove(oldList.lastIndexOf(name));
            }
        }
        System.out.println("原本的集合原素"+oldList);
    }
    // An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

4、Set去重


    @Test
    void contextLoads5() {
        List<String> oldList = new ArrayList<>();
        oldList.add("张三");
        oldList.add("张三");
        oldList.add("李四");
        oldList.add("王五");
        oldList.add("赵六");
        List<String> newList = Lists.newArrayList(new HashSet(oldList));
        System.out.println("原本的集合原素"+newList);
    }
    // An highlighted block
var foo = 'bar';

打印结果如下:

在这里插入图片描述

5、stream流去重


    @Test
    void contextLoads5() {
        List<String> oldList = new ArrayList<>();
        oldList.add("张三");
        oldList.add("张三");
        oldList.add("李四");
        oldList.add("王五");
        oldList.add("赵六");
        List<String> collect = oldList.stream().distinct().collect(Collectors.toList());
        System.out.println("原本的集合原素"+collect);
    }
    // An highlighted block
var foo = 'bar';

打印结果如下:
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看