Eine Array-List wie eine andere sortieren

00d4vid

Mitglied
Hi, ich habe eine ArrayList in der alle möglichen Werte drin sind, die auch eine andere enthalten kann. Die Werte sind in der richtigen Reihenfolge.
Eine zweite Array-List soll nach dieser sortiert werden.
Im Moment mache ich das so:
Java:
public ArrayList<String> sortArrayList(ArrayList<String> toSort) {
		//ConfigHandler.sortTemplate ist die ArrayList, die die sortierten Werte enthält.
		ArrayList<String> sortTemplate = ConfigHandler.sortTemplate;
		ArrayList<String> sortedList = new ArrayList<String>();

		for (int i = 0; i < toSort.size(); i++) {
			sortedList.add(sortTemplate.indexOf(toSort.get(i)), toSort.get(i));
		}

		return sortedList;
	}

Mit den Comparatoren habe ich bisher nicht ganz verstanden ob oder wie das geht.
Gibts da eine einfachere/schnellere/bessere Möglichkeit?

Danke und Gruß
David
 
Hi,
wie sortierst du denn die bereits sortierte Liste? Bekommst du diese bereits sortiert, oder machst du das lokal?
Wenn du das lokal machst, dann kannst du dir für die erste LIste ja einen Comperator bauen, und diesen dann auch für die zweite Liste verwenden. Wenn du sie bereits sortiert erhälst, sehe ich auch keine bessere Möglichkeit als die du bereits nutzt..

Grüße!
 
Howdie.

Wenn die Sortierung der Liste bereits durch eine Konfig-Datei vorgegeben wird, ist deine Methode vermutlich wirklich die beste.
Solltest du diese Sortierung allerdings beeinflussen können, würd ich es machen wie Artorius bereits gesagt hat. Stichwort dabei wäre eines der Interfaces java.lang.Comparable und java.lang.Comparator. Die sind relativ einfach zu implementieren, gibts bestimmt auch ne gute Beschreibung von Sun.

Gruß
miffi
 
Zurück