0

我想知道是否可以将多个 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 之前比较它们。在程序的这个阶段,我的 Integer 需要取一个值。我可以使用多维数组来实现我的目标,但这样的解决方案会更优雅且耗时更少。

4

1 回答 1

2

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

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

此顺序将适用于映射的键,因此如果您需要值排序,您将不得不提出一个更复杂的解决方案(如直接对条目集进行排序并将值添加到另一个映射中,例如例子)。

于 2013-01-16T18:03:57.233 回答