JDK8的stream如何去重
时间: 2023-07-07 08:39:10 浏览: 91
在JDK8的stream中可以使用distinct()方法进行去重操作。例如,可以使用以下代码将一个整数集合中的重复元素去除:
```
List<Integer> numbers = Arrays.asList(1, 2, 3, 2, 4, 3, 5);
List<Integer> distinctNumbers = numbers.stream().distinct().collect(Collectors.toList());
System.out.println(distinctNumbers);
```
输出结果为:[1, 2, 3, 4, 5]
相关问题
jdk 1.8 List 去重
在 JDK 1.8 中,可以使用 Stream API 来对 List 进行去重操作。以下是一种常见的去重方法:
```java
List<T> list = new ArrayList<>(); // 原始的 List
List<T> distinctList = list.stream()
.distinct()
.collect(Collectors.toList());
```
上述代码中,假设你的 List 的泛型为 `T`,你可以将原始的 List 存储在 `list` 变量中。然后,通过调用 `stream()` 方法将 List 转换为 Stream 对象,接着使用 `distinct()` 方法对元素进行去重操作,最后使用 `collect()` 方法将结果转换回 List。
请注意,上述代码中的 `T` 是一个泛型,你需要将其替换为你实际使用的元素类型。另外,这种方法会保留第一个出现的元素,后续相同的元素将被忽略。如果你想要根据自定义的逻辑进行去重,可以使用 `distinct()` 方法的重载版本,并传入自定义的比较器。
用JDK1.8list去重
可以使用Java8的Stream API进行列表去重,示例如下:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); //输出结果:[A, B, C]
阅读全文