工作使用场景:
1.目的: 寻找List<Map<String, Object>> 中 是否存在某值
场景:校验传入地市是否在当前省份
return cityForProvince.stream().anyMatch(new Predicate<Map<String, Object>>() {
@Override
public boolean test(Map<String, Object> stringObjectMap) {
return stringObjectMap.containsValue(scene.getCityName() + "市");
}
});
2.目的: 寻找List<Map<String, Object>> 中 是否存在某值 并获取同一个map中另一个key的值
场景:1 如果通过校验,获取地市的id用于查询它对应的区县
//查找当前地市下的区县
final String[] id = {""};
cityForProvince.stream().filter(new Predicate<Map<String, Object>>() {
@Override
public boolean test(Map<String, Object> stringObjectMap) {
return stringObjectMap.containsValue(scene.getCityName() +"市");//只保留当前地市所在的map
}
}).forEach(info -> {
id[0] = info.get("id").toString();
});