java list<map> lambda 查询
时间: 2023-12-09 08:02:20 浏览: 85
java 看清lambda
假设我们有一个List<Map<String, Object>>,其中每个Map包含以下键值对:
- "name":String类型,表示人名
- "age":Integer类型,表示年龄
- "gender":String类型,表示性别
我们可以使用Lambda表达式来查询这个List中的Map对象。假设我们要查询年龄大于等于18岁且性别为女性的人名,可以使用以下代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 添加Map对象到list中
List<String> names = list.stream()
.filter(map -> (Integer) map.get("age") >= 18 && map.get("gender").equals("female"))
.map(map -> (String) map.get("name"))
.collect(Collectors.toList());
```
在以上代码中,我们使用了Stream流和Lambda表达式来对List中的Map对象进行查询。首先,我们使用filter()方法过滤出年龄大于等于18岁且性别为女性的Map对象。然后,我们使用map()方法将符合条件的Map对象中的人名提取出来。最后,我们使用collect()方法将人名放入一个新的List中。
阅读全文