初学者QQ:我有一个列表和一个Map。我需要对照“列表”检查“地图”中的所有值,如果该值在地图中但不在列表中,那么我需要将其删除
List<String> list = getRequiredList();
Set<String> set = new HashSet<>(list)
Map<String, String> map = getMap();
Run Code Online (Sandbox Code Playgroud)
需要一些有关如何从地图中删除(如果不在列表中)的信息
关于Maps的一件整洁的事情是,键集和值集合都由Map本身支持。这意味着从密钥集中删除密钥会从其所属的映射中有效删除它。
因此,可以在键集上使用retainAll:
map.keySet().retainAll(list);
Run Code Online (Sandbox Code Playgroud)
这将确保映射中唯一的键是列表中的字符串。
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |