java怎么用stream去重
时间: 2025-01-15 10:38:04 浏览: 50
### 使用Java Stream API去除集合中的重复元素
为了使用Java Stream API去除集合中的重复项,可以利用`distinct()`方法。此方法会确保流中不会存在相同的元素,从而实现去重功能[^4]。
下面是一个具体的例子,展示如何从字符串列表中删除重复项:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class RemoveDuplicatesExample {
public static void main(String[] args) {
List<String> listWithDuplicates = Arrays.asList("apple", "banana", "orange", "apple", "pear", "banana");
// 去除重复元素并收集结果到新列表
List<String> distinctList = listWithDuplicates.stream()
.distinct() // 移除重复条目
.collect(Collectors.toList());
System.out.println(distinctList);
}
}
```
这段代码首先定义了一个包含重复项目的列表,接着调用了`.stream().distinct().collect(Collectors.toList())`链式操作来处理这个列表。最终输出的结果将是不带任何重复项的新列表。
对于更复杂的数据结构或自定义对象类型的集合,可能还需要提供比较器或其他逻辑以决定哪些项目应视为相同。此时可以通过覆盖类内的`equals()`和`hashCode()`方法或者传递给`Collectors.toMap()`特定的映射函数来进行更加精细的操作[^3]。
阅读全文
相关推荐


















