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 种方法,这个方法最完美!
相关推荐
宋情写14 小时前
Java基础篇01-环境搭建+入门体验
java·开发语言
悟能不能悟14 小时前
java list=null,可以stream吗
java·windows·list
cike_y14 小时前
Mybatis-万能的Map&模糊查询
java·开发语言·mybatis·安全开发
love530love15 小时前
【笔记】华硕 ROG MAXIMUS Z890 HERO 主板 BIOS 更新完整操作实录
运维·人工智能·windows·笔记·单片机·嵌入式硬件·bios
开开心心_Every15 小时前
无广告干扰:简单好用文字LOGO设计工具
xml·java·网络·数据库·华为od·华为云·excel
古城小栈15 小时前
GitHub Copilot for Java:上下文感知重构建议实操
java·github·copilot
秋邱15 小时前
Java面向对象进阶:封装、继承、多态的实现逻辑与实战案例
java·开发语言·后端·spring cloud·ar·restful
colman wang15 小时前
Java期末
java·开发语言
Coder_Boy_15 小时前
基于MQ实现秒杀订单系统的异步化架构
java·开发语言·架构