Suchen Sie nach einer Standardbibliotheksfunktion in Java, um die Werte in zwei Maps basierend auf ihren Schlüsseln hinzuzufügen.Addieren der Werte von zwei Maps bei gleichem Schlüssel
Map A: {a=1, b=2}
Map B: {a=2, c=3}
Resultierende Karte:
Map C: {a=3, b=2, c=3}
ich das erkennen kann in wenigen Zeilen codiert werden. Ich weiß auch, dass funktionale Programmierung dafür großartig ist. Ich bin nur herumwandernd, wenn es eine Standardfunktion oder Syntax gibt, die Leute da draußen benutzen.
So etwas (aber wahrscheinlich mehr als generische):
public HashMap<String,Double> addValues(HashMap<String,Double> a, HashMap<String,Double> b) {
HashMap<String,Double> ret = new HashMap<String,Double>(a);
for (String s : b.keySet()) {
if (ret.containsKey(s)) {
ret.put(s, b.get(s) + ret.get(s));
} else {
ret.put(s, b.get(s));
}
}
return ret;
}
Dies sollte Ihnen helfen ... http://docs.oracle.com/javase/7/docs/api/java/util/Set.html – JNL
Welche Datenstruktur Sie haben ? In Frage schreibst du 'Set', aber du fügst' map' tag – Jens
Sorry Jens ich meinte Karten, jetzt korrigiert. –