当前位置:首页 > Java

java如何去重

2026-03-04 03:42:16Java

去除Java集合中的重复元素

使用HashSet可以快速去除重复元素,因为HashSet不允许重复值。将集合转换为HashSet后再转换回原类型即可去重。

List<String> listWithDuplicates = Arrays.asList("a", "b", "a", "c");
Set<String> setWithoutDuplicates = new HashSet<>(listWithDuplicates);
List<String> listWithoutDuplicates = new ArrayList<>(setWithoutDuplicates);

使用Java 8 Stream去重

利用Streamdistinct()方法可以简洁地实现去重。

java如何去重

List<String> listWithDuplicates = Arrays.asList("a", "b", "a", "c");
List<String> listWithoutDuplicates = listWithDuplicates.stream()
        .distinct()
        .collect(Collectors.toList());

保留原始顺序的去重方法

如果需要保留元素的原始顺序,可以使用LinkedHashSet代替HashSet

List<String> listWithDuplicates = Arrays.asList("a", "b", "a", "c");
Set<String> setWithoutDuplicates = new LinkedHashSet<>(listWithDuplicates);
List<String> listWithoutDuplicates = new ArrayList<>(setWithoutDuplicates);

自定义对象的去重

对于自定义对象,需要重写equals()hashCode()方法,确保对象之间的比较逻辑正确。

java如何去重

class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}

List<Person> people = Arrays.asList(new Person("Alice", 20), new Person("Bob", 25), new Person("Alice", 20));
List<Person> uniquePeople = people.stream()
        .distinct()
        .collect(Collectors.toList());

使用Apache Commons Collections去重

如果项目中已经引入了Apache Commons Collections库,可以使用CollectionUtilsremoveDuplicates方法。

List<String> listWithDuplicates = Arrays.asList("a", "b", "a", "c");
CollectionUtils.removeDuplicates(listWithDuplicates);

使用Guava库去重

Guava库提供了ImmutableSet,可以方便地去除重复元素。

List<String> listWithDuplicates = Arrays.asList("a", "b", "a", "c");
List<String> listWithoutDuplicates = ImmutableSet.copyOf(listWithDuplicates).asList();

标签: 何去java
分享给朋友:

相关文章

java如何运行

java如何运行

运行Java程序的基本方法 Java程序的运行需要经过编写、编译和执行三个主要阶段。以下是具体步骤: 编写Java源代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件…

java如何调用方法

java如何调用方法

调用方法的基本语法 在Java中,调用方法需要明确方法所属的对象(实例方法)或类(静态方法),并传递必要的参数。语法格式如下: 实例方法:对象名.方法名(参数列表); 静态方法:类名.方…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右…

java如何自学

java如何自学

确定学习目标和路径 自学Java需要明确目标,例如开发Web应用、Android应用或后端服务。根据目标选择学习重点,如Java基础、Spring框架或Android开发。制定阶段性计划,从基础语法到…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。…