我的程序運行正常,但它給出了錯誤的結果。我使用HashMap<Integer, ArrayList<Integer>>
和ArrayList<Integer>
,我的程序會生成一個新的HashMap<integer, ArrayList<Integer>>
。該程序必須將HashMap
中的每個值與ArrayList
中的值進行比較,並添加相似的值並將結果存儲在新的HashMap
中。我添加了一張照片來幫助你理解。hashmap和arraylist中的相似值
實施例:
ArrayList<Integer> :
[1, 0, 1, 0, 0]
Hashmap<Integer,ArrayList<integer>> :
1, [1, 0, 1, 1, 0]
2, [0, 1, 1, 0, 0]
3, [0, 1, 1, 1, 0]
結果:
HashMap
1, 4
2, 3
3, 2
代碼:
System.out.println("HASHMAP SIMILIRATE RESULT:");
HashMap<Integer, Integer> sim = new HashMap<Integer, Integer>();
int count;
int k = 1;
for (Map.Entry<Integer, ArrayList<Integer>> e : hmm.entrySet()) {
count = 0;
//you can move this part to another method to avoid deep nested code
for (Integer mapValue : e.getValue()) {
if (mapValue.equals(listOperateur.get(k))) {
count = count + 1;
}
}
sim.put(e.getKey(), count);
k++;
}
發佈您的代碼。 – stinepike
@StinePike 對不起 – fatoma
今天早些時候我試着幫助OP,但代碼太亂了,他的問題沒有任何意義。 –