Heim  >  Artikel  >  Java  >  Wie sortiere ich eine Liste basierend auf der Reihenfolge einer anderen Liste in Java?

Wie sortiere ich eine Liste basierend auf der Reihenfolge einer anderen Liste in Java?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 09:53:30668Durchsuche

How to Sort a List Based on the Order of Another List in Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn