stream去重写法
时间: 2023-10-16 22:08:01 浏览: 51
stream去重的几种方法包括使用Stream的distinct()方法、使用collectingAndThen()和toCollection()方法、使用filter()方法。其中,distinct()方法会根据元素的hashCode()和equals()方法来判断是否重复,如果是自定义类,需要重写这两个方法。
相关问题
stream去重stream
要在Stream中去重,可以使用distinct方法。distinct方法将返回一个去除重复元素的新Stream。以下是一个示例代码:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 2, 4, 3, 5, 4, 6);
Stream<Integer> distinctStream = numbers.stream().distinct();
distinctStream.forEach(System.out::println);
```
上述代码会输出以下结果:
```
1
2
3
4
5
6
```
在这个例子中,我们使用了一个包含重复元素的List,然后通过调用stream方法将List转换为Stream。接着,我们使用distinct方法去除重复元素,并将结果存储在一个新的Stream中。最后,我们通过forEach方法遍历新的Stream,并打印每个元素。
希望这个例子可以帮助你理解如何在Stream中去重。
stream去重
要去重一个 stream,可以使用 Java 8 中的 distinct() 方法。例如:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 1, 2, 5);
list.stream()
.distinct()
.forEach(System.out::println);
```
输出结果为:
```
1
2
3
4
5
```
如果你想要自定义去重规则,可以使用 Stream 中的 filter() 方法和自定义的 Predicate。例如,如果你想要去除字符串列表中长度小于等于 3 的字符串:
```java
List<String> list = Arrays.asList("apple", "banana", "pear", "kiwi", "cat", "dog");
list.stream()
.filter(s -> s.length() > 3)
.distinct()
.forEach(System.out::println);
```
输出结果为:
```
apple
banana
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)