Java使用List去重的四中方式

简介: Java使用List去重的四中方式

1.测试代码

package com.lp.util;
 
import java.util.*;
import java.util.stream.Collectors;
 
/**
 * @author liu pei
 * @date 2023年12月12日 下午6:54
 * @Description:
 */
public class Test {
    public static void main(String[] args) {
        List<String> str = new ArrayList<>();
        str.add("2");
        str.add("3");
        str.add("9");
        str.add("99");
        str.add("3");
        str.add("8");
        str.add("8");
 
        //无序去重
        System.out.println(new HashSet<String>(str));
        //有序去重
        System.out.println(new TreeSet<String>(str));
        //无序去重
        System.out.println(new LinkedHashSet<String>(str));
        //stream 去重
        System.out.println(str.stream().distinct().collect(Collectors.toList()));
    }
}

2.结果

[99, 2, 3, 8, 9]
[2, 3, 8, 9, 99]
[2, 3, 9, 99, 8]
[2, 3, 9, 99, 8]
相关文章
|
2天前
|
存储 安全 Java
Java的List、Set、Queue等接口及其实现类的技术性文章
Java的List、Set、Queue等接口及其实现类的技术性文章
8 1
|
3天前
|
存储 安全 Java
Java list set map等接口及其实现类
Java list set map等接口及其实现类
|
11天前
|
Java 索引
【JAVA学习之路 | 进阶篇】List接口常用方法
【JAVA学习之路 | 进阶篇】List接口常用方法
|
18天前
|
存储 安全 算法
Java一分钟之-Java集合框架入门:List接口与ArrayList
【5月更文挑战第10天】本文介绍了Java集合框架中的`List`接口和`ArrayList`实现类。`List`是有序集合,支持元素重复并能按索引访问。核心方法包括添加、删除、获取和设置元素。`ArrayList`基于动态数组,提供高效随机访问和自动扩容,但非线程安全。文章讨论了三个常见问题:索引越界、遍历时修改集合和并发修改,并给出避免策略。通过示例代码展示了基本操作和安全遍历删除。理解并正确使用`List`和`ArrayList`能提升程序效率和稳定性。
12 0
|
18天前
|
存储 安全 Java
【JAVA基础篇教学】第八篇:Java中List详解说明
【JAVA基础篇教学】第八篇:Java中List详解说明
|
18天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
11 0
|
18天前
|
Java API
【亮剑】三种有效的方法来删除List中的重复元素Java的List
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
3天前
|
缓存 监控 安全
Java的线程池和线程安全
Java的线程池和线程安全
|
2天前
|
安全 算法 Java
Java中的并发编程技术:解锁高效多线程应用的秘密
Java作为一种广泛应用的编程语言,其并发编程技术一直备受关注。本文将深入探讨Java中的并发编程,从基本概念到高级技巧,帮助读者更好地理解并发编程的本质,并学会如何在多线程环境中构建高效可靠的应用程序。
|
2天前
|
Java
Java中多线程的常见实现方式
Java中多线程的常见实现方式
11 2