Heim  >  Artikel  >  Java  >  Java-Vektorsortierung

Java-Vektorsortierung

WBOY
WBOYOriginal
2024-08-30 15:30:31440Durchsuche

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 Probetests

Starten 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

hat

Es gibt keine Ausnahmen und dies ist mit der Java-Version 1.2 und höher kompatibel

Schritte zum Sortieren von Vektoren mit dem Komparator

  • Erstellen eines Vektorobjekts
  • Hinzufügen von Elementen zu Vector mit der add-Methode (Element e)
  • Vektorobjekt mit Collections.sort sortieren
  • Anzeige der Liste der sortierten Elemente

Beispiele für die Java-Vektorsortierung

Hier sind die folgenden Beispiele aufgeführt

Beispiel #1

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:

Java-Vektorsortierung

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

ab

Collections.sort() sortiert die Vektorelemente in aufsteigender Reihenfolge und zeigt sie mithilfe einer for-Schleife an.

Beispiel #2

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:

Java-Vektorsortierung

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.

Beispiel #3

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:

Java-Vektorsortierung

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.

Beispiel #4

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:

Java-Vektorsortierung

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.

Beispiel #5

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:

Java-Vektorsortierung

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!

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
Vorheriger Artikel:DFS-Algorithmus in JavaNächster Artikel:DFS-Algorithmus in Java