我想在具有模式匹配的映射中查找键。
Ex:-
Map<String, String> map = new HashMap<String, String>();
map.put("address1", "test test test");
map.put("address2", "aaaaaaaaaaa");
map.put("fullname", "bla bla");
从上面的 map 中,我想获取前缀为“地址”的键的值。因此在这个例子中输出应该是前两个结果(“address1”和“address2”)。
我怎样才能动态地实现这一目标?
最佳答案
您可以获取 map 的 keySet
,然后过滤以仅获取以“address”开头的键,并将有效键添加到新的 Set 中。
在 Java 8 中,它不那么冗长了:
Set<String> set = map.keySet()
.stream()
.filter(s -> s.startsWith("address"))
.collect(Collectors.toSet());
关于java - 如何根据 Java 中的模式匹配在 map 中找到键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29523711/