java8特性 将list<map>排除 某个值后,将另一个键值转为list<string
时间: 2024-12-13 22:19:54 浏览: 47
在Java 8中,你可以使用流(Stream) API来处理这样的操作。假设你有一个`List<Map<String, String>>`,你想排除那些键为某个特定值的地图,并将剩余地图中指定的另一个键(比如"values")对应的值转换成`List<String>`。以下是步骤:
```java
import java.util.*;
import java.util.stream.*;
public List<String> filterAndToList(List<Map<String, String>> list, String excludeKey, String targetKey) {
return list.stream() // 创建流
.filter(map -> map.get(excludeKey) != null && !map.get(excludeKey).equals("excludeValue")) // 过滤掉包含指定值的地图
.flatMap(map -> Optional.ofNullable(map.get(targetKey)) // 获取目标键的值,如果不存在则返回Optional.empty()
.map(String::valueOf) // 将字符串值转换回String(如果有非String类型的值需要适配)
.collect(Collectors.toList()); // 聚合成List
}
```
在这个例子中,你需要替换`excludeKey`和`excludeValue`为你要排除的实际键和值。
阅读全文
相关推荐


















