class Person
{
private String name;
private String birthDate;
private String city;
private String state;
private int zipCode;
}
Map<String, String> inputMap = new HashMap<>();
inputMap.put(“name”, “David”);
Map<String, String> inputMap1 = new HashMap<>();
inputMap1.put(“name”, “David”);
inputMap1.put(“city”, “Auburn”);
我将从数据库中获取人员列表,下面的Map是输入(这个输入Map是动态的。我们可能只得到city或city&zipcode或person对象中定义的上述5个属性的任意组合)
我需要使用流过滤与inputmap匹配的人员列表。我尝试了不同的方式使用java流,但没有运气,请帮助。
1条答案
按热度按时间nr9pn0ug1#
可以为中每个可能的键应用筛选器
Map
(也就是说,你需要5个filter
操作):如果你想把它推广到任意数量的
Map
钥匙,你还需要一把Map
将键Map到Person
.例如,如果您有:
你可以写:
这意味着对于
inputMap
,的相应属性Person
示例(通过propMap.get(key).apply(p)
哪里p
是Person
)必须等于该键的值。