初学者QQ:我有一个列表和一个Map 。我需要对照“列表”检查“地图”中的所有值,如果该值不在“地图”中但不在列表中,那么我需要将其删除
List<String> list = getRequiredList();
Set<String> set = new HashSet<>(list)
Map<String, String> map = getMap();
需要一些有关如何从地图中删除地图的信息
答案 0 :(得分:7)
关于Maps的一件整洁的事情是key set和value collection都由Map本身支持。这意味着从密钥集中删除密钥会有效地从其所属的Map中删除该密钥。
因此,您可以在密钥集上使用retainAll:
map.keySet().retainAll(list);
这将确保Map中唯一的键是列表中的字符串。