java stream流对list去重
时间: 2023-08-25 09:59:54 浏览: 64
你可以使用Java 8中引入的Stream流来对List进行去重操作。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 4, 5, 5, 6, 6);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(distinctNumbers);
}
}
```
在上面的示例中,我们创建了一个包含重复元素的整数列表`numbers`。然后,我们使用`stream()`方法将其转换为流,然后使用`distinct()`方法对流中的元素进行去重操作。最后,我们使用`collect(Collectors.toList())`将去重后的元素收集到一个新的列表`distinctNumbers`中,并输出结果。
运行以上代码,输出将是`[1, 2, 3, 4, 5, 6]`,即去除了重复元素的列表。
相关问题
Java stream 对list去重
在Java 8及以上版本中,可以使用Java Stream API对List进行去重操作。下面是一些实现方法:
1. 使用distinct()方法:
```java
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 5);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); // Output: [1, 2, 3, 4, 5]
```
2. 使用Collectors.toSet()方法:
```java
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 5);
List<Integer> distinctList = list.stream().collect(Collectors.toSet())
.stream().collect(Collectors.toList());
System.out.println(distinctList); // Output: [1, 2, 3, 4, 5]
```
3. 使用Collectors.toMap()方法:
```java
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 5);
List<Integer> distinctList = new ArrayList<>(list.stream()
.collect(Collectors.toMap(Function.identity(),
v -> v,
(v1, v2) -> v1))
.values());
System.out.println(distinctList); // Output: [1, 2, 3, 4, 5]
```
这些方法中,第一种方法是最简单的,但是它只适用于基本类型和字符串。如果要处理对象,则需要使用第二种或第三种方法,其中第三种方法可以处理更复杂的情况。
java使用stream流去重list
可以使用Java 8中的Stream API来去重List。具体可以按照以下步骤进行:
1. 将List转换成Stream对象
2. 调用Stream对象的distinct()方法,用于去重
3. 将去重后的Stream对象转换回List
示例代码如下:
```java
List<String> list = Arrays.asList("A", "B", "C", "A", "D", "B");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList);
```
输出结果为:[A, B, C, D],其中重复的元素被去除了。
相关推荐
![](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)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)