Sortieren einer Liste basierend auf einer anderen in Java
In Java ist es möglich, eine Liste basierend auf der Reihenfolge einer anderen Liste zu sortieren. Dies kann in Situationen nützlich sein, in denen Sie eine bestimmte Reihenfolge von Elementen in einer Liste (listB) haben und eine zweite Liste (listA) neu anordnen möchten, um dieser Reihenfolge zu entsprechen.
Eine Möglichkeit, dies zu erreichen, ist die Verwendung von die Collections.sort()-Methode mit einem angepassten Comparator wie folgt:
<code class="java">Collections.sort(listToSort, new Comparator<T>() { @Override public int compare(T o1, T o2) { return listWithOrder.indexOf(o1) - listWithOrder.indexOf(o2); } });</code>
Hier stellt listToSort Ihre unsortierte Liste dar und listWithOrder enthält die gewünschte Reihenfolge. Dieser Comparator sortiert listToSort basierend auf der Reihenfolge der Elemente in listWithOrder.
Für Java 8 und höher können Sie den Code mithilfe von Lambdas und der CompareInt()-Methode vereinfachen:
<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste basierend auf der Reihenfolge einer anderen Liste in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!