Ich habe flache Datei mit Daten. Einige der Hauptattribute sind [Land, Staat, Stadt, Vorname, Nachname, Alter, Einkommen, CreditScore, ...]Multi-Level Group By mit Zählungen auf jeder Ebene in Java?
Ich brauche folgende Gruppenordnung: Land -> Bundesland -> Stadt -> Alter
Zusätzlich, sagen wir, ich brauche zählt auf jeder Gruppenebene ... etwas kann einfach mit RDBMS GROUP BY getan werden! aber ich habe keine Datenbank (oder kann einfach nicht verwenden), es ist flache Datei Daten.
Ein Weg ist mit HashMap zu tun, aber auf einer Ebene oder zwei große Werke, wie Ebenen Code erhöhen kompliziert ist ...
Map<String, Integer> count = new HashMap<String, Integer>();
Iterator<RandomObject> i = r.iterator();
while (i.hasNext()) {
String key=i.next().getName();
if (count.containsKey(key)) {
int rr =Integer.valueOf(count.get(key));
rr++;
count.put(key, rr);
}else{
count.put(key, 1);
}
}
Gibt es eine saubere Lösung in Java für dieses Problem?
Wie machst du mit Multi-Level? – gpa
Aktualisiert für Multi-Level, nach Name und Ort. Ich hoffe, das hilft. – Chirag