我想知道是否可以将多个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 值。我可以通过多维数组实现我的目标,但这样的解决方案会更优雅,更省时。
答案 0 :(得分:2)
通过使用LinkedHashMap
,您可以拥有一个尊重不同值的插入顺序的地图。您需要做的就是遍历地图的entrySet
,直至到达您正在寻找的位置。
另外:如果您还需要订购,可以查看TreeMap
根据您定义的条件按顺序插入元素(您可以传递Comparator
作为参数地图)。
这个顺序适用于地图的键很难,所以如果你需要价值排序,你将不得不提出一个更复杂的解决方案(如直接排序入口集并将值添加到另一个例如,地图。