java.util.Map的交集

man*_*ndy 35 java collections dictionary set-intersection

是否有一个方法java.util.Map或任何工具在两个地图上执行交集?(通过"键"交叉两个地图)

我找不到任何东西.我总是可以实现自己的交集逻辑,但我希望在其中一个java.util.*类中已经有一些操作可以执行此操作.

Mar*_*lis 47

怎么样:

Map map1 = ...;
Map map2 = ...;
Map result = new ...(map1);
result.keySet().retainAll(map2.keySet());
Run Code Online (Sandbox Code Playgroud)

要么:

Map map1 = ...;
Map map2 = ...;
Set result = new ...(map1.keySet());
result.retainAll(map2.keySet());
Run Code Online (Sandbox Code Playgroud)


Lou*_*man 13

如果你正在使用Guava,你可以Maps.difference用来获取一个MapDifference对象,你可以从中提取entriesInCommon()entriesDiffering()作为地图.(披露:我向番石榴捐款.)