In diesem Artikel wird die Collections.sort()
-Methode in Java untersucht, ein leistungsstarkes Werkzeug zum Sortieren von Elementen in Sammlungen wie Listen und Arrays. Während ein TreeSet
auch Elemente sortieren kann, bietet Collections.sort()
Flexibilität und Effizienz, insbesondere bei Listen und anderen Sammelarten. Diese Methode befindet sich in der java.util.Collections
-Klasse und sortiert in erster Linie Elemente in aufsteigender Reihenfolge. Es ist eine Verbesserung gegenüber java.util.Arrays.sort()
, die verschiedene Sammlungstypen abwickeln kann, einschließlich verknüpfter Listen und Warteschlangen.
veranschaulichen wir mit einem Beispiel:
Betrachten Sie eine Liste mit diesen Zeichenfolgen:
<code>{"TutorialsPoint", "Friends", "Dear", "Is", "The", "Best", "Hey"}</code>
Nach Antrag Collections.sort()
wird die Liste:
<code>{"Dear", "Best", "Friends", "Hey", "Is", "The", "TutorialsPoint"}</code>
Mehrere Methoden erleichtern die Sortierung:
public void sort(List list)
: sortiert die Elemente einer Liste. Entscheidend ist, dass die Elemente die -Kinterface implementieren müssen. Dies funktioniert gut mit Saiten- und Wrapper -Klassen (wie Comparable
). Integer
sort(List list, Comparator c)
: Sortiert eine Liste mit einem benutzerdefinierten , um die Sortierreihenfolge zu definieren. Comparator
Collections.sort()
in einem Java -Programm: Collections.sort()
java.util.*
List
). ArrayList
Collections.sort()
Verwendung: Collections.sort()
Beispiel 1 (sortieren eine Liste benutzerdefinierter Objekte):
class Fruit implements Comparable<Fruit> { int id; String name, taste; Fruit(int id, String name, String taste) { this.id = id; this.name = name; this.taste = taste; } @Override public int compareTo(Fruit f) { return this.id - f.id; } // Getters for id, name, and taste public int getId() { return id; } public String getName() { return name; } public String getTaste() { return taste; } } // ... (rest of the code to create and sort a list of Fruit objects) ...
Beispiel 2 (sortieren eine Liste von Ganzzahlen):
ArrayList<Integer> al = new ArrayList<>(); al.add(201); al.add(101); al.add(230); Collections.sort(al); // Sorts in ascending order
Ansatz 1: Nachweis Collections.sort()
in aufsteigender Reihenfolge sortiert werden kann. Die Zeitkomplexität ist O (n log n) und der Hilfsraum ist o (1). ArrayList
Ansatz 2: Sortieren mit einem Comparator
Dieser Ansatz zeigt eine benutzerdefinierte Sortierung mithilfe einer Comparator
-Schinschnittstelle, die benutzerdefinierte Sortierkriterien ermöglicht. Beispiele zeigen Sortierung Student
Objekte nach Rollennummer.
Leistungsvergleich (arrays.sort () vs. collections.sort ())
Ein Vergleich von Arrays.sort()
und Collections.sort()
Leistung ist enthalten, wobei die geringfügigen Leistungsunterschiede abhängig von der Datengröße und dem Typ
Collections.sort()
bietet abschließend Arrays.sort()
eine vielseitige und effiziente Möglichkeit, verschiedene Java -Sammlungen zu sortieren, und bietet sowohl Standardaufstieg als auch benutzerdefinierte Sortierfunktionen über Komparatoren. Die Auswahl zwischen Collections.sort()
und
Das obige ist der detaillierte Inhalt vonSammlung.Sort () in Java mit Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!