List<Teacher> list5 = new ArrayList<>(); list5.add(new Teacher(1, "马强", 4, 40)); list5.add(new Teacher(2, "花无缺", 3, 50)); list5.add(new Teacher(3, "西门吹雪", 5, 45)); List<Teacher> 转 List<String>, 只要name属性值用stream流如何写
时间: 2023-06-08 18:03:54 浏览: 91
可以使用以下代码将List<Teacher>中的name属性值转化为List<String>:
List<String> nameList = list5.stream().map(Teacher::getName).collect(Collectors.toList());
其中,map()方法将Teacher对象转化为其name属性值,然后collect()方法将其收集为List<String>类型的nameList。
相关问题
如何用stream把List<Teacher> 转 List<Map<String, Object>> List<Teacher> list5 = new ArrayList<>(); list5.add(new Teacher(1, "马强", 4, 40)); list5.add(new Teacher(2, "花无缺", 3, 50)); list5.add(new Teacher(3, "西门吹雪", 5, 45));
可以使用Java 8中的Stream API将List<Teacher>转换为List<Map<String, Object>>。代码如下:
List<Map<String, Object>> resultList = list5.stream()
.map(teacher -> {
Map<String, Object> map = new HashMap<>();
map.put("id", teacher.getId());
map.put("name", teacher.getName());
map.put("level", teacher.getLevel());
map.put("age", teacher.getAge());
return map;
})
.collect(Collectors.toList());
其中,map(teacher -> {...})是一个Lambda表达式,使用map方法将每个Teacher对象转换为一个Map<String, Object>对象,然后使用collect方法将所有Map对象收集到一个List中。
阅读全文