stream将list<map>其中一個元素流转为List<String>
时间: 2024-03-12 18:50:16 浏览: 72
可以使用Java 8的Stream API来将List<Map>中的某个元素转化为List<String>。假设我们要将List<Map>中的key为"keyName"的元素转化为List<String>,可以使用以下代码:
```
List<Map<String, Object>> list = ... // 初始化List<Map>对象
List<String> keyList = list.stream()
.map(map -> map.get("keyName").toString())
.collect(Collectors.toList());
```
这段代码会对List中的每个Map对象执行map操作,将其中key为"keyName"的元素转化为String类型,并收集到List<String>中。
相关问题
stream将list<map>流转为List<String>
假设你的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合并成一个流。
stream将list<User>流转为List<String>
可以使用Java 8的Stream API,结合map()方法和collect()方法来实现将List<User>流转为List<String>。具体的实现可以参考以下代码:
```
List<User> userList = new ArrayList<>();
userList.add(new User("Alice"));
userList.add(new User("Bob"));
userList.add(new User("Charlie"));
List<String> nameList = userList.stream()
.map(User::getName)
.collect(Collectors.toList());
```
首先,我们将List<User>转换成流,然后使用map()方法将每个User对象映射为其名称(即String类型),最后使用collect()方法将映射后的结果收集到List<String>中。在map()方法中,我们使用了方法引用(User::getName),它等价于lambda表达式(user -> user.getName()),可以使代码更加简洁。
阅读全文