在 Java 中,你可以使用多种方式对列表进行去重。下面我将介绍几种常见的方法,包括使用 Java 标准库和第三方库,以及它们的具体步骤流程和示例代码。
假设我们有一个 List<String> 的列表需要进行去重操作。
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<String> inputList = new ArrayList<>();
        inputList.add("apple");
        inputList.add("banana");
        inputList.add("apple");
        inputList.add("orange");
        List<String> uniqueList = new ArrayList<>(new HashSet<>(inputList));
        System.out.println("Original List: " + inputList);
        System.out.println("Unique List: " + uniqueList);
    }
}
步骤流程:
HashSet 来存储唯一元素。HashSet 中。由于 HashSet 不允许重复元素,这将自动去重。ArrayList,并使用去重后的 HashSet 来初始化它。添加 Maven 依赖:
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.0.1-jre</version>
</dependency>
添加 Gradle 依赖:
implementation 'com.google.guava:guava:31.0.1-jre'
示例代码:
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<String> inputList = Lists.newArrayList("apple", "banana", "apple", "orange");
        List<String> uniqueList = ImmutableList.copyOf(inputList).stream().distinct().collect(Collectors.toList());
        System.out.println("Original List: " + inputList);
        System.out.println("Unique List: " + uniqueList);
    }
}
步骤流程:
Lists.newArrayList() 创建一个可变列表。ImmutableList.copyOf() 创建一个不可变列表,然后通过 stream().distinct().collect(Collectors.toList()) 操作进行去重。import java.util.List;
import java.util.stream.Collectors;
public class Main {
    public static void main(String[] args) {
        List<String> inputList = List.of("apple", "banana", "apple", "orange");
        List<String> uniqueList = inputList.stream().distinct().collect(Collectors.toList());
        System.out.println("Original List: " + inputList);
        System.out.println("Unique List: " + uniqueList);
    }
}
步骤流程:
List.of() 创建一个不可变列表。stream().distinct().collect(Collectors.toList()) 操作进行去重。这些是几种常见的 Java 列表去重方法,它们都有不同的适用场景和优劣势。选择适合你需求的方法并根据示例代码进行实现即可。