У меня есть список itemMap
(Map<ArrayList<String>, Integer> itemMap = new HashMap<ArrayList<String>, Integer>()
), содержащий следующие элементы
{ [File3, File2]=4,
[File2, File3]=2,
[File1, File2]=6,
[File1, File3]=2,
[File3, File1]=6,
[File2, File1]=6 }
Я хочу получить список, не содержащий дубликатов.(в моем случае дубликат представляет собой список, содержащий те же элементы другого списка). Пример (F1, F2) и (F2, F1) одинаковы в моей работе.
Итак, я хочу получить следующий результат:
{ [File3, File2]=6,
[File1, File3]=8,
[File1, File2]=12 }
Как вы видите, я суммирую количество дубликатов, но я сохраняю один из дубликатов в своей хэш-карте.Кто-нибудь может мне помочь с простым кодом и спасибо.Моя попытка не удалась:
HashMap<List<String>,Integer> myobjectListB = new HashMap<List<String>,Integer>();
for (List <String> key : itemMap.keySet()){
for (List <String> y : itemMap.keySet()){
if((key.containsAll(y) && (!key.equals(y))) && (key.size())==y.size()) {
int count = itemMap.get(key)+itemMap.get(y);
myobjectListB.put(key, count);
}
}
}
System.out.println("object list"+ myobjectListB);
}