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 种方法,这个方法最完美!
相关推荐
今夕资源网3 分钟前
indextts API 阅读 API 重磅升级!低延迟 + 音色管理 + 缓存全拉满 支持开源阅读小说软件,其他软件应该也通用
java·后端·spring
是宇写的啊8 分钟前
SpringIoc和Di
java·开发语言
lifallen15 分钟前
Paimon 与 ForSt 场景选型分析
java·大数据·flink
我登哥MVP17 分钟前
【Spring6笔记】 - 12 - 代理模式
java·spring boot·笔记·spring·代理模式·aop
潇洒畅想26 分钟前
1.2 希腊字母速查表 + 公式阅读实战
java·人工智能·python·算法·rust·云计算
Thexhy27 分钟前
Java 后端完整成长路线(含项目)
java·开发语言
276695829228 分钟前
携程旅行 token1005
java·linux·前端·javascript·携程旅行·token1005·携程酒店
墨着染霜华33 分钟前
Linux 下查看 Java 服务进程占用(CPU / 内存)并定位具体服务
java·linux·运维
楚辞大魔王34 分钟前
通过ExternalTools打开编译之后的class
java·开发语言
跟着珅聪学java36 分钟前
Java AI 开发完全教程
java·开发语言·人工智能