stream将list<map>流转为List<String>
时间: 2023-11-11 13:25:06 浏览: 79
假设你的List中每个元素都是一个Map对象,我们可以使用Java 8的Stream API,结合flatMap()方法、map()方法和collect()方法来实现将List<Map>流转为List<String>。具体的实现可以参考以下代码:
```
List<Map<String, String>> mapList = new ArrayList<>();
Map<String, String> map1 = new HashMap<>();
map1.put("name", "Alice");
map1.put("age", "20");
mapList.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("name", "Bob");
map2.put("age", "25");
mapList.add(map2);
List<String> nameList = mapList.stream()
.flatMap(map -> map.values().stream())
.collect(Collectors.toList());
```
首先,我们将List<Map>转换成流,然后使用flatMap()方法将每个Map对象的values(即Map中所有的值)合并成一个流,接着使用map()方法将流中的每个值转换为String类型,最后使用collect()方法将转换后的结果收集到List<String>中。在flatMap()方法中,我们使用了lambda表达式(map -> map.values().stream()),它将每个Map对象的values合并成一个流。
阅读全文