private Map<String, List<WEAObject>> _parkMap;
public TreeWindow(List<WEAObject> weaObjects)
{
super();
_parkMap = createParkMap(weaObjects);
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Wurzel");
Set<String> keys = _parkMap.keySet();
for (String key : keys)
{
List<WEAObject> weaObjectList = _parkMap.get(key);
DefaultMutableTreeNode child = new DefaultMutableTreeNode(key);
for (int j = 0; j < weaObjectList.size() ; j++)
{
WEAObject weaObject = weaObjectList.get(j);
String facilityType = weaObject.getFacilityType() + " " + weaObject.getFacilityNumber();
DefaultMutableTreeNode subChild = new DefaultMutableTreeNode(facilityType);
child.add(subChild);
}
root.add(child);
}
DefaultTreeModel treeModel = new DefaultTreeModel(root);
this.setModel(treeModel);
this.setRootVisible(false);
}
private Map<String, List<WEAObject>> createParkMap(List<WEAObject> weaObjects)
{
Map<String, List<WEAObject>> weaObjectMap = new TreeMap<String, List<WEAObject>>();
for (int i = 0; i < weaObjects.size(); i++)
{
WEAObject weaObject = weaObjects.get(i);
String parkName = weaObject.getParkName();
if (weaObjectMap.containsKey(parkName))
{
weaObjectMap.get(parkName).add(weaObject);
}
else
{
List<WEAObject> weaObjectList = new ArrayList<WEAObject>();
weaObjectList.add(weaObject);
weaObjectMap.put(parkName, weaObjectList);
}
}
return weaObjectMap;
}
Nun möchte ich, dass die Blätter der Knoten aufsteigend in numerischer Reihenfolge (1, 2, 3, 4...) nach ihrer facilityNumber im Baum sortiert werden. Wie mache ich das, habe noch nie mit Sortierungen gearbeitet.
Konkrete Hilfe anhand von Code wäre sehr hilfreich.
Ich bin ja dabei Java zu lernen, aber komme momentan einfach nicht weiter und bräuchte deshalb den reellen Code, um diesen dann nachvollziehen zu können.
Es soll natürlich nicht so herüberkommen, als ob ich die Arbeit abgeben will, brauche lediglich Unterstützung.
es macht nur so keinen Sinn,
du kannst nicht mit hochkomplexen Dingen wie DefaultMutableTreeNode hantieren
(wo viele Hintergrundprozesse zu beachten sind)
aber elementare Dinge wie Sortierung einer einfachen Liste nicht kennen,
denn so stößt du bei deinem Programm ständig auf Nebenprobleme wie Sortierung, Map-Zugriff und was du sonst noch so zuletzt gefragt hast,
wenn du dagegen erstmal Programme schreibst,
in denen Listen, Maps (und System.out.println statt dicker GUIs (!) ) das zentrale Thema sind,
dann kann man sich darauf viel besser konzentrieren..
Hab mir die Aufgabe nicht ausgesucht, muss sie aber erledigen. Da ich jetzt schon seit einer Ewigkeit nicht weiterkomme, wäre ich halt dankbar, wenn mir jemand den Code zum Sortieren meiner Liste nennen könnte, damit ich mich wieder anderen Dingen widmen kann.
also schau dir doch erstmal an, was in den objekten drin steht...was GENAU drin steht. das ist also eine liste von objekten einer eigenen klasse von dir, korrekt?