ArrayList去除重复数据

问题描述:

ArrayList元素去重是我们经常使用的功能,最容易想到的就是双层for循环去重,这里列举出其他的两种方式,如下:


方法一:

使用list的contains方法实现,代码如下:

List<String> list = new ArrayList<String>();
        list.add("序号【99990aa1】不符合规范");
        list.add("序号【99990aa1】不符合错误");
        list.add("序号【99990aa1】不符合规范");
        list.add("序号【99990aa1】不符合不对");
        list.add("滴滴滴滴");

        List<String> list1 = new ArrayList(list.size());
        for(int i=0;i<list.size();i++){
    
    
            if(!list1.contains(list.get(i)))
                list1.add(list.get(i));
        }
        for (String s : list1) {
    
    
            System.out.println("过滤后集合元素:"+ s);
        }

输出:
过滤后集合元素:序号【99990aa1】不符合规范
过滤后集合元素:序号【99990aa1】不符合错误
过滤后集合元素:序号【99990aa1】不符合不对
过滤后集合元素:滴滴滴滴


方法二:

使用stream流进项操作,代码如下:

List<String> list = new ArrayList<String>();
        list.add("序号【99990aa1】不符合规范");
        list.add("序号【99990aa1】不符合错误");
        list.add("序号【99990aa1】不符合规范");
        list.add("序号【99990aa1】不符合不对");
        list.add("滴滴滴滴");

        List<String> list1 = list.stream().distinct().collect(Collectors.toList());
        for (String s : list1) {
    
    
            System.out.println("过滤后集合元素:"+ s);
        }

执行后效果方法一。

猜你喜欢

转载自blog.csdn.net/weixin_43996353/article/details/114021749