【发布时间】:2017-04-08 19:12:10
【问题描述】:
我正在使用这个algorithm 来比较两组值:一个HashMap<Integer,ArrayList<Integer>> 和另一个ArrayList<Integer>。该程序的目标是将 HashMap 中的每个值与 ArrayList 中的值进行比较,并返回相似值的新 HashMap。到目前为止,我的程序运行正常,但它返回错误的结果。
ArrayList 示例
[1.0.1.0.0]
HashMap 示例
- [1.0.1.1.0]
- [0.1.1.0.0]
- [0.1.1.1.0]
结果:
- 4
- 3
- 2
我的计划
int k = 1;
List<Integer> listOperateur = new ArrayList<Integer>();
HashMap<Integer, Integer> sim = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, ArrayList<Integer>> e : hmm.entrySet()) {
count = 0;
for (Integer mapValue : e.getValue()) {
if (mapValue.equals(listOperateur.get(k))) {
count++;
}
}
sim.put(e.getKey(), count);
k++;
}
【问题讨论】:
-
你的问题是什么?
-
程序在newhashmap中给出了错误的结果
-
我不太明白这是什么意思。
-
计数器'count'不计算正确的,它给出了错误的结果,我不知道循环中的问题在哪里
-
如果我们确切地知道您要达到的目标,那么诊断问题会更容易。您说您想将
Map中的每个值与List中的值进行比较,但我不明白这是什么意思。