Java Lambda表达式遍历Map集合提取属性值
在Java Lambda表达式中遍历Map集合并取出某个属性值,可以使用map的values()方法获取所有的value值,并使用lambda表达式提取属性值。
例如,假设有一个map集合,其中key是字符串,value是一个对象,对象有一个属性'name',我们想要提取所有对象的'name'属性值,可以使用以下代码:
Map<String, User> map = new HashMap<>();
// 添加数据到map集合
map.put('1', new User('John'));
map.put('2', new User('Alice'));
map.put('3', new User('Bob'));
// 使用lambda表达式遍历map集合,取出name属性值
List<String> names = map.values().stream()
.map(User::getName)
.collect(Collectors.toList());
// 打印name属性值
names.forEach(System.out::println);
在上述代码中,首先创建了一个map集合,并向其中添加了三个对象。然后使用lambda表达式遍历map集合的values(),使用map()方法将每个对象的'name'属性值提取出来,最后使用collect()方法将提取出来的属性值收集到一个列表中。最后,通过forEach()方法打印出每个属性值。
其中,User是一个简单的示例类,代码如下:
class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
以上代码输出的结果为:
John
Alice
Bob
这样就实现了在lambda表达式中遍历map集合并取出某个属性值的操作。
原文地址: https://www.cveoy.top/t/topic/p94i 著作权归作者所有。请勿转载和采集!