从列表中删除值,同时将其与列表进行比较

时间:2019-08-06 17:26:43

标签: java java-8

初学者QQ:我有一个列表和一个Map 。我需要对照“列表”检查“地图”中的所有值,如果该值不在“地图”中但不在列表中,那么我需要将其删除

    List<String> list = getRequiredList();
    Set<String> set = new HashSet<>(list)
    Map<String, String> map = getMap(); 

需要一些有关如何从地图中删除地图的信息

1 个答案:

答案 0 :(得分:7)

关于Maps的一件整洁的事情是key setvalue collection都由Map本身支持。这意味着从密钥集中删除密钥会有效地从其所属的Map中删除该密钥。

因此,您可以在密钥集上使用retainAll

map.keySet().retainAll(list);

这将确保Map中唯一的键是列表中的字符串。