如何移除第一个Java Map中第二个Map不存在的键
解决TreeMap保留共有键的问题
要实现移除firstMap中与secondMap不共有的键,直接利用Java集合的retainAll方法就能快速完成,具体步骤如下:
代码实现
import java.util.TreeMap; public class Main { public static void main(String[] args) { // 初始化两个TreeMap TreeMap<String, String> firstMap = new TreeMap<>(); firstMap.put("2022", "11"); firstMap.put("2023", "22"); TreeMap<String, String> secondMap = new TreeMap<>(); secondMap.put("2022", "33"); // 保留firstMap中与secondMap共有的键 firstMap.keySet().retainAll(secondMap.keySet()); // 输出修改后的firstMap System.out.println(firstMap); } }
原理说明
firstMap.keySet()获取的是firstMap的键集合,这个集合和原Map是关联的,对集合的修改会直接同步到原Map。retainAll(secondMap.keySet())方法会保留两个键集合的交集,也就是只留下同时存在于两个Map中的键,自动删除不共有的键。
运行上述代码后,firstMap就会变成目标形式:
{2022=11}
内容的提问来源于stack exchange,提问作者Nocturnal
相关产品推荐
相关产品推荐

