Sortieren von Listen basierend auf einer bestimmten Reihenfolge
In Java ist es möglich, eine Liste basierend auf der Reihenfolge einer anderen Liste zu sortieren. Dies kann in verschiedenen Szenarien nützlich sein, z. B. bei der Beibehaltung der Reihenfolge von Elementen beim Abrufen aus einer Datenbank oder beim Neuanordnen einer Liste von Elementen basierend auf Benutzerpräferenzen.
Um dies zu erreichen, können wir Javas Collections.sort( )-Methode, die einen Comparator als Argument verwendet. Ein Comparator definiert die Reihenfolgeregeln für die Elemente in der Liste.
Java 8-Lösung
In Java 8 können wir Comparator.comparing() verwenden, um die Liste zu sortieren basierend auf der indexOf()-Methode der geordneten Liste. Der folgende Codeausschnitt veranschaulicht diesen Ansatz:
<code class="java">Collections.sort(listToSort, Comparator.comparing(item -> listWithOrder.indexOf(item)));</code>
Optimierte Java 8-Lösung
Für eine verbesserte Leistung können wir stattdessen Comparator.comparingInt() verwenden, wie in gezeigt den folgenden Code:
<code class="java">listToSort.sort(Comparator.comparingInt(listWithOrder::indexOf));</code>
Indem wir eine Liste basierend auf der Reihenfolge einer anderen sortieren, können wir sicherstellen, dass die Elemente in der sortierten Liste dieselbe relative Reihenfolge beibehalten wie die Elemente in der geordneten Liste. Dies ist eine leistungsstarke Technik, die für eine Vielzahl von Anwendungen in der Java-Programmierung verwendet werden kann.
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!