2017-01-03 3 views
-1

Ich brauche etwas Hilfe bei der Sortierung der Liste. Also habe ich zwei Listen, eine, die Entitäten vom Typ Sarcina (int Id, String desc) enthält (lasst es ls1 nennen), und einen, der Integer enthält (lasst uns ls2 nennen). Beide Listen haben die gleiche Größe. Ich versuche, beide gleichzeitig in absteigender Reihenfolge zu sortieren, indem ich die Elemente von den gleichen Positionen in den beiden Listen vertausche.Sortieren einer Liste nach einer anderen in Java

Also, wenn ich ls1 (Sarcina1, Sarcina2, Sarcina3) und ls2 (3,5,4) habe, und ich sortiere ls2 als (5,4,3), möchte ich in ls1 sortiert haben als (Sarcina2 , Sarcina3, Sarcina1).

Vielen Dank.

+1

Verwenden Sie Karten und sortieren Sie den Schlüssel. Die Werte werden nach Schlüssel geordnet. – Kaushal28

+0

Also, was ist deine Frage? – Carcigenicate

+0

Korrigieren Sie mich, wenn ich falsch liege, aber Sie wollen sowohl Ganzzahl- als auch Sarcina-Listen zusammen richtig sortieren – prashant

Antwort

3

Sie können Treemap verwenden, die die sortierten Schlüssel verwaltet. Hier wollen Sie Ihre Ganzzahlen sortieren, also fügen Sie sie als Schlüssel hinzu und fügen Sie Ihre Zeichenfolgen als Werte von Treemap hinzu. Es wird automatisch sortiert. So versuchen someting wie folgt vor:

TreeMap tm = new TreeMap(); 

    // Put elements to the map 
    //Here "your_integer" is key and "your_string" is value in our Treemap 
    tm.put("your_integer","your_string"); 
    tm.put("your_integer","your_string"); 

jetzt tm ist das, was Sie wollen. Die Zeichenfolgen sind nach Ihren Ganzzahlen sortiert.

+0

Sie würden zwei Baumkarten für diese dann richtig brauchen .... eine für die Sortierung nach Sarcina ... und andere für die Sortierung nach der Ganzzahl. ... müssen Sie auch Comparator implementieren, um nach der Zeichenfolge in Sarcina Klasse – prashant

+0

@ Prashant zu sortieren Sie können diesen Link für weitere Informationen verweisen. http://stackoverflow.com/questions/922528/how-to-sort-map-values-by-key-in-java – Kaushal28

+0

Tree Map wird nur nach Tasten rechts sortieren ... also hier, da Sie beide Integer sortieren möchten und Sarcina ... du würdest 2 Baumkarten brauchen ... eine mit Schlüssel Integer und andere mit Schlüssel Sarcina ..... – prashant

Verwandte Themen