Java:List列表去重有序和无序

目录

待去重列表

java 复制代码
// 列表
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jack");
list.add("Steve");
list.add("Tom");

System.out.println(list);
// [Tom, Jack, Steve, Tom]

HashSet去重(不保证顺序)

java 复制代码
// 去重
Set<String> set = new HashSet<>(list);
List<String> newList = new ArrayList<>(set);

System.out.println(newList);
// [Tom, Steve, Jack]

TreeSet去重(不保证顺序)

java 复制代码
// 去重
Set<String> set = new TreeSet<>(list);
List<String> newList = new ArrayList<>(set);

System.out.println(newList);
// [Jack, Steve, Tom]

LinkedHashSet去重(保证顺序)

java 复制代码
// 去重
Set<String> set = new LinkedHashSet<>(list);
List<String> newList = new ArrayList<>(set);

System.out.println(newList);
// [Tom, Jack, Steve]

遍历List去重(保证顺序)

java 复制代码
// 去重
List<String> newList = new ArrayList<>();
for (String value : list) {
    if(!newList.contains(value)){
        newList.add(value);
    }
}

System.out.println(newList);
// [Tom, Jack, Steve]

Java8中Stream流处理(保证顺序)

java 复制代码
// 去重
List<String> newList = list.stream().distinct().collect(Collectors.toList());

System.out.println(newList);
// [Tom, Jack, Steve]

参考文章

  1. List 去重的 6 种方法,这个方法最完美!
相关推荐
一直都在5721 分钟前
新Java基础(二十五):异常类
java·开发语言
礼拜天没时间.1 分钟前
力扣热题100实战 | 第31期:下一个排列——数组规律的极致探索
java·算法·leetcode·字典序·原地算法·力扣热题100
xiaoye37086 分钟前
java后端面试一般问什么?
java·面试
badhope8 分钟前
OpenClaw卸载命令全解析
java·linux·人工智能·python·sql·数据挖掘·策略模式
李子红了时10 分钟前
Win10一键禁用自动更新和Windows Defender安全中心
windows·安全
Hello.Reader11 分钟前
Flink Task Lifecycle 一篇讲透 StreamTask 与 Operator 生命周期
java·大数据·flink
小小小米粒21 分钟前
Redisson 大量用了 Lua
java
free-elcmacom25 分钟前
C++ 函数占位参数与重载详解:从基础到避坑
java·前端·算法
Greenland_1227 分钟前
Android Java使用Glide无法生成GlideApp
android·java·glide