Ich versuche, die Anzahl der doppelten Werte von String ArrayList
, i die Aufgabe erreicht haben, zu erhalten, aber nicht vollständig. Ich kann den counts
von doppelten elements
meiner arrayList
bekommen, aber das Problem ist, dass die order
von arrayList
zerstört, wenn ich die occurrences
von elements
die Anzahl der doppelten Werte in Arraylist in Java bekommen, ohne die Reihenfolge der beeinflussen Arraylist
hier ist mein code
:
Map<String, Integer> counts = new HashMap<String, Integer>();
for (String str : t.courseName) {
if (counts.containsKey(str)) {
counts.put(str, counts.get(str) + 1);
} else {
counts.put(str, 1);
}
}
for (Map.Entry<String, Integer> entry : counts.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
Dieser Code funktioniert gut für occurrences
bekommen, aber beachten Sie, dass dieser Code die order
zerstört. was ich will ist, dass die order
auch nicht zerstört werden sollte.
Wenn Sie Java 8 verwenden, kann Ihre if-else-Anweisung auf 'counts.merge (str, 1, Integer :: sum);' vereinfacht werden. –