Heim >Java >javaLernprogramm >Java-Vektorsortierung
Java Vector Sort ist eine Methode der Java Vector Class, die zum Sortieren von Vektoren entsprechend der Reihenfolge durch den angegebenen Komparator verwendet wird. Da Vector in Java die Reihenfolge beim Einfügen von Elementen beibehält, wird die Methode sort(,) verwendet, um die Elemente in aufsteigender oder absteigender Reihenfolge zu sortieren. Die Methode Sort() ist Teil der Collections-Klasse. Vektorelemente können auch mit Comparable und Comparator sortiert werden. Wie ein Array ist auch Vector ein erweiterbares Objekt, das Elemente enthält, auf die über einen ganzzahligen Index zugegriffen werden kann. Die Größe des Vektors kann durch Hinzufügen oder Entfernen von Elementen nach der Erstellung des Vektors wachsen oder schrumpfen.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax:
Das Folgende wird als Deklaration der Methode sort() verwendet,
public void sort(Comparator<? super E> c);
Das obligatorische Argument „c“ ist der Komparator, der zum Vergleichen von Vektorelementen verwendet wird. Gibt nichts zurück, wenn die Methode einen Rückgabetyp void
hatEs gibt keine Ausnahmen und dies ist mit der Java-Version 1.2 und höher kompatibel
Hier sind die folgenden Beispiele aufgeführt
Einfache Vektorsortierung() mit Collections.sort()
Code:
import java.util.Vector; import java.util.Collections; public class SortJavaVectorExample { public static void main(String[] args) { Vector vector = new Vector(); vector.add("10"); vector.add("31"); vector.add("52"); vector.add("23"); vector.add("44"); System.out.println("Vector elements before sorting: "); for(int x=0; x<vector.size(); x++) System.out.println(vector.get(x)); Collections.sort(vector); System.out.println("Sorted Vector elements in ascending order: "); for(int y=0; y<vector.size(); y++) System.out.println(vector.get(y)); } }
Ausgabe:
Durch die Deklaration des Vektors, das Hinzufügen von Elementen zum Vektor und das Drucken der Elemente ohne Sortierung wird die gleiche Einfügereihenfolge beibehalten. Mit der for-Schleife ruft get(x) das Element vom Index x
abCollections.sort() sortiert die Vektorelemente in aufsteigender Reihenfolge und zeigt sie mithilfe einer for-Schleife an.
Vektorsortierung für alphabetische Reihenfolge
Code:
import java.util.*; public class VectrSort { public static void main(String arg[]) { Vector < String > v = new Vector < String > (); v.add("Dragon Fruit"); v.add("Apple"); v.add("Watermelon"); v.add("Orange"); v.add("Strawberry"); System.out.println("Elements of Vector are: "); for (String fruit: v) { System.out.println(" "+fruit); } Collections.sort(v); System.out.println("Vector elements after sorting are: "); for (String fruit : v) { System.out.println(" "+fruit); } } }
Ausgabe:
Wir werden Vektorelemente in absteigender Reihenfolge sortieren, d. h. die Methode reverseOrder() der Collections-Klasse muss aufgerufen werden, was natürlich die umgekehrte Reihenfolge der Vektorelemente vorschreibt.
Vektorelemente in umgekehrter Reihenfolge sortieren.
Code:
import java.util.Vector; import java.util.Comparator; import java.util.Collections; public class reverseSortArray { public static void main(String[] args) { Vector v = new Vector(); v.add("ColorRed"); v.add("ColorYellow"); v.add("ColorBlue"); v.add("ColorBlack"); v.add("ColorOrange"); v.add("ColorGreen"); System.out.println("Vector Elements before sorting :"); for(int x=0; x < v.size(); x++) System.out.println(v.get(x)); Comparator comparator = Collections.reverseOrder(); Collections.sort(v,comparator); System.out.println("Vector Elements after reverse sorting :"); for(int x=0; x < v.size(); x++) System.out.println(v.get(x)); } }
Ausgabe:
Hier werden Vektorelemente in absteigender Reihenfolge basierend auf den Alphabeten sortiert.
Sehen wir uns die Sortierung von Vektorelementen benutzerdefinierter Klassenobjekte an.
Die oben genannte Collections.sort()-Methode funktioniert nur, wenn die Elements-Klasse Comparable Interface implementiert; Wenn es nicht implementiert wird, kommt es zu einem Kompilierungsfehler.
Hier werden wir sehen, wie die benutzerdefinierte Klasse das Comparable Interface implementiert.
Vektorsortierung für benutzerdefinierte Klassenobjekte.
Code:
import java.util.Collections; import java.util.Vector; class Employee implements Comparable<Employee>{ private int empid; public Employee(int empid){ this.empid = empid; } public String toString(){ return "Employee[" + this.empid + "]"; } public int getempId(){ return this.empid; } public int compareTo(Employee otherEmployee) { return this.getempId() - otherEmployee.getempId(); } } public class EmployeeSortVector { public static void main(String[] args) { Vector<Employee> vEmp = new Vector<Employee>(); vEmp.add(new Employee(110)); vEmp.add(new Employee(121)); vEmp.add(new Employee(102)); vEmp.add(new Employee(145)); vEmp.add(new Employee(1)); Collections.sort(vEmp); System.out.println(vEmp); } }
Ausgabe:
Um die oben genannten Elemente in umgekehrter Reihenfolge zu sortieren, ist reverseComparator zu verwenden.
Collections.sort(vEmp, Collections.reverseOrder())
Wir können benutzerdefinierte Klassenobjekte auch mithilfe eines benutzerdefinierten Komparators sortieren. Zuvor haben wir gesehen, wie Comparable Interface implementiert wird; Jetzt erstellen wir einen benutzerdefinierten Komparator für die Klassenobjekte.
Vektorsortierung eines benutzerdefinierten Klassenobjekts mit benutzerdefiniertem Komparator.
Code:
import java.util.Collections; import java.util.Comparator; import java.util.Vector; class Employee{ private int empid; public Employee(int empid){ this.empid = empid; } public String toString(){ return "Employee[" + this.empid + "]"; } public int getempId(){ return this.empid; } } class EmployeeComparator implements Comparator<Employee>{ public int compare(Employee emp1, Employee emp2) { return emp1.getempId() - emp2.getempId(); } } class EmployeeComparatorDesc implements Comparator<Employee>{ public int compare(Employee emp1, Employee emp2) { return emp2.getempId() - emp1.getempId(); } } public class SortJavaVectorExample { public static void main(String[] args) { Vector<Employee> vEmp = new Vector<Employee>(); vEmp.add(new Employee(346)); vEmp.add(new Employee(111)); vEmp.add(new Employee(211)); vEmp.add(new Employee(533)); vEmp.add(new Employee(211)); vEmp.add(new Employee(25)); Collections.sort(vEmp, new EmployeeComparator()); System.out.println(vEmp); Collections.sort(vEmp, new EmployeeComparatorDesc()); System.out.println(vEmp); } }
Ausgabe:
Damit schließen wir unser Thema „Java Vector Sort“ ab. Wir haben gesehen, was Vektorsortierung in Java ist und wie sie implementiert wird. Die Syntax mit den erforderlichen Argumenten wird ebenfalls erläutert. Außerdem wurde besprochen, wie die Vektorsortierung durchgeführt wird, und ich habe alle Arten von Beispielen gesehen, Sortieren in aufsteigender Reihenfolge mit der Methode Collections.sort() und absteigender Reihenfolge mit der Methode Collections.reverseOrder(). Darüber hinaus haben wir mit Comparable auch nach benutzerdefinierten Klassenobjekten sortiert und den Vergleich für benutzerdefinierte Klassenobjekte angepasst. Ich hoffe, wir haben den größtmöglichen Teil des Themas abgedeckt. Danke! Viel Spaß beim Lernen!
Das obige ist der detaillierte Inhalt vonJava-Vektorsortierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!