如何根据给定列表中值的存在从地图中删除条目?

时间:2019-02-19 12:21:02

标签: java collections java-8

我有一个字符串列表:

List<String> countries;

它包含国家/地区,例如:

Austria, Poland, England

我有一张地图:

Map<String, String> data;

此地图包含以下条目:

one   | Austria
two   | Germany
three | France

如何过滤地图,以便最后只有列表中没有的条目?对于上面给出的示例,输出映射将包含:

two   | Germany
three | France

我尝试使用java8过滤器,但是没有任何积极的结果,您能帮我吗?

1 个答案:

答案 0 :(得分:2)

也许使用 Java8 + ,您可以使用:

data.values().removeIf(s -> countries.contains(s));

显示您可以使用的结果:

data.forEach((k, v)-> System.out.println(k + " | " + v));

输出

two | Germany
three | France