list集合用lambda过滤掉重复的
时间: 2024-02-24 10:54:04 浏览: 49
Lambda表达式、扩展方法与通用集合运算符
可以使用 Java 8 的 Stream API 和 lambda 表达式来对 list 集合进行过滤,去除重复元素,具体步骤如下:
1. 将 list 转换为 Stream 对象:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "apple");
Stream<String> stream = list.stream();
```
2. 对 Stream 进行去重操作:
```
stream = stream.distinct();
```
3. 对 Stream 进行过滤操作,使用 lambda 表达式来定义过滤条件,例如,只保留长度大于 5 的字符串:
```
stream = stream.filter(s -> s.length() > 5);
```
4. 将 Stream 转换回 List:
```
List<String> resultList = stream.collect(Collectors.toList());
```
完整代码示例:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "apple");
List<String> resultList = list.stream()
.distinct()
.filter(s -> s.length() > 5)
.collect(Collectors.toList());
System.out.println(resultList);
```
输出结果:
```
[banana, orange]
```
这里使用了 `distinct()` 方法来去除重复元素,使用 `filter()` 方法来过滤元素,使用 `collect()` 方法将 Stream 转换回 List。
阅读全文