【发布时间】:2017-04-15 07:25:27
【问题描述】:
目前我有 6 个 HashMap,其中包含城市名称和不同类别的值,但我需要总结每个城市的每个类别的值,即:
HashMap<String, Integer> HeatHMap = new HashMap<>();
HashMap<String, Integer> DaylightHMap = new HashMap<>();
HashMap<String, Integer> PrecitipationHMap = new HashMap<>();
HashMap<String, Integer> DaylightHMap = new HashMap<>();
HashMap<String, Integer> WindHMap = new HashMap<>();
HashMap<String, Integer> MoistureHMap = new HashMap<>();
HeatHMap 包含的位置:
Cities Values
Tucson 23
Hermosillo 47
Boulder 25
并且 DaylightHMap 包含:
Cities Values
Tucson 43
Hermosillo 37
Boulder 75
现在,我需要将每个城市(即 Hermosillo)的每个类别的值相加,并将这些值保存到另一个 HashMap 中,所以结果会是这样的:
Cities Values
Tucson 78 = (23+43+...+n)
Hermosillo 160 = (47+37+...+n)
....
我正在考虑将每个 HashMap 添加到 ArrayList 中,然后访问每个城市,但我意识到将 HashMap 放入列表中并不是解决这个问题的好方法。到目前为止,我有:
public void verifyTheWinner(
HashMap <String, Integer> Table1, HashMap <String, Integer> Table2,
HashMap <String, Integer> Table3, HashMap <String, Integer> Table4,
HashMap <String, Integer> Table5, HashMap <String, Integer> Table6)
{
List<HashMap> categories = new ArrayList<HashMap>();
categories.add(Weather);
categories.add(SeaWeather);
categories.add(Rainfall);
categories.add(Sunshine);
categories.add(Prices);
categories.add(AvgStd);
HashMap<String, Integer> citiesAndValuesTotal= new HashMap<>();
for (int i=0; i<categories.size(); i++){
......
}}
我的问题是:
如何执行算术运算,例如将每个城市的值相加,然后将它们保存到新的 HashMap 中?
我可以使用另一个 Collection 来实现这个目标还是 HashMap 是解决这个问题的最佳方法?
感谢您的支持,如果您需要更多详细信息,请向我询问。欢迎每个答案。
【问题讨论】:
-
所以您打算将温度添加到每个城市的风速等日光小时数?这有什么意义?
-
嘿@JohnBollinger!好吧,我要添加的值仅用于测试目的,因为更多的表包含必须添加的更有意义的数据。这些仅用于测试目的。
标签: java android collections