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 种方法,这个方法最完美!
相关推荐
无风之翼21 小时前
android12下拉菜单栏界面上方显示无内容
android·java
程序员梁白开21 小时前
从源码到实战:线程池处理任务的完整流程解析
java·jvm·spring·java-ee
u***13721 小时前
Tomcat的升级
java·tomcat
t***p93521 小时前
springboot项目读取 resources 目录下的文件的9种方式
java·spring boot·后端
C***115021 小时前
Tomcat下载,安装,配置终极版(2024)
java·tomcat
ScriptBIN21 小时前
Maven高级
java·maven
一切顺势而行21 小时前
jackson 控制处理
windows
Empty_77721 小时前
K8S-Pod资源对象
java·容器·kubernetes
D***y20121 小时前
SpringSecurity 实现token 认证
java
N***778821 小时前
Tomcat 乱码问题彻底解决
java·tomcat