比较hashmap数据

时间:2013-01-16 17:53:51

标签: java hashmap

我想知道是否可以将多个hashMaps中的项目相互比较:

HashMap<String,String> valueMap = new HashMap<String, String>();
HashMap<String,Integer> formulaMap = new HashMap<String, Integer>();

我基本上喜欢做的事情是:

if(the second string in valueMap is the same as the first string in formulaMap){
}

是否有一种简短的方法可以实现这一点,或者我必须在将字符串包含到hashMaps之前对其进行比较。在程序的这个阶段,我的整数需要采用 null 值。我可以通过多维数组实现我的目标,但这样的解决方案会更优雅,更省时。

1 个答案:

答案 0 :(得分:2)

通过使用LinkedHashMap,您可以拥有一个尊重不同值的插入顺序的地图。您需要做的就是遍历地图的entrySet,直至到达您正在寻找的位置。

另外:如果您还需要订购,可以查看TreeMap根据您定义的条件按顺序插入元素(您可以传递Comparator作为参数地图)。

这个顺序适用于地图的键很难,所以如果你需要价值排序,你将不得不提出一个更复杂的解决方案(如直接排序入口集并将值添加到另一个例如,地图。