Rumah  >  Artikel  >  Java  >  Isih Vektor Java

Isih Vektor Java

WBOY
WBOYasal
2024-08-30 15:30:31434semak imbas

Java Vector Sort ialah kaedah Java Vector Class yang digunakan untuk mengisih vektor mengikut susunan oleh Comparator yang ditentukan. Memandangkan Vector dalam Java mengekalkan susunan pemasukan elemen, kaedah sort(,) digunakan untuk mengisih elemen dalam tertib menaik atau menurun. Kaedah Sort() ialah sebahagian daripada kelas Collections; elemen vektor juga boleh diisih menggunakan Comparable dan Comparator. Seperti tatasusunan, Vektor juga merupakan objek tumbuh yang mengandungi elemen yang boleh diakses menggunakan indeks integer. Saiz vektor boleh membesar atau mengecil dengan menambah atau mengalih keluar elemen selepas vektor dibuat.

IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

Di bawah digunakan sebagai kaedah pengisytiharan jenis(),

public void sort(Comparator<? super E> c);

Hujah Mandatori 'c' ialah pembanding yang digunakan untuk membandingkan elemen vektor. Tidak mengembalikan apa-apa jika kaedah mempunyai jenis pengembalian void

Tiada pengecualian, dan ini serasi dengan versi Java 1.2 dan ke atas

Langkah untuk Isih Vektor menggunakan Comparator

  • Mencipta objek Vektor
  • Menambah elemen pada Vektor menggunakan kaedah tambah(Elemen e)
  • Isih objek Vektor menggunakan Collections.sort
  • Memaparkan senarai elemen yang diisih

Contoh Isih Vektor Java

Berikut ialah contoh berikut yang disebut di bawah

Contoh #1

Isih Vektor Mudah() menggunakan Collections.sort()

Kod:

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));
}
}

Output:

Isih Vektor Java

Mengisytiharkan vektor, menambah elemen pada vektor dan mencetak elemen tanpa mengisih mengekalkan susunan sisipan yang sama. Menggunakan untuk gelung, dapatkan(x) mengambil elemen daripada indeks x

Collections.sort() mengisih elemen vektor dalam tertib menaik dan dipaparkan menggunakan gelung for.

Contoh #2

Isih vektor untuk susunan Abjad

Kod:

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);
}
}
}

Output:

Isih Vektor Java

Kami akan mengisih elemen vektor dalam tertib menurun, iaitu kaedah reverseOrder() kelas Koleksi perlu digunakan, yang secara semula jadi mengenakan tertib terbalik bagi elemen vektor.

Contoh #3

Isih Elemen Vektor dalam Susunan Songsang.

Kod:

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));
}
}

Output:

Isih Vektor Java

Jadi di sini, Elemen vektor diisih mengikut tertib menurun berdasarkan abjad.

Mari kita lihat pengisihan elemen vektor Objek Kelas Tersuai.

Kaedah Collections.sort() yang disebutkan di atas berfungsi hanya jika kelas elemen melaksanakan Antara Muka Setanding; jika tidak dilaksanakan, kita akan menghadapi ralat kompilasi.

Di sini, kita akan melihat cara kelas tersuai melaksanakan Antara Muka Setanding.

Contoh #4

Isih Vektor untuk Objek Kelas Tersuai.

Kod:

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);
}
}

Output:

Isih Vektor Java

Untuk mengisih elemen di atas dalam susunan terbalik, reverseComparator perlu digunakan.

Collections.sort(vEmp, Collections.reverseOrder())

Kami juga boleh mengisih objek kelas tersuai menggunakan Pembanding tersuai. Sebelum ini, kami melihat bagaimana Antara Muka Setanding dilaksanakan; sekarang, kami akan mencipta pembanding tersuai untuk objek kelas.

Contoh #5

Isih Vektor objek kelas tersuai menggunakan Pembanding Tersuai.

Kod:

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);
}
}

Output:

Isih Vektor Java

Dengan ini, kami akan mengakhiri topik kami 'Java Vector Sort'. Kami telah melihat apakah pengisihan Vektor dalam Java dan bagaimana ia dilaksanakan. Sintaksnya dengan hujah yang diperlukan juga dijelaskan. Juga dibincangkan tentang Cara Isih Vektor dilakukan dan telah melihat semua jenis contoh, Isih dalam susunan Menaik menggunakan Collections.sort(), tertib menurun dengan kaedah Collections.reverseOrder(). Selain itu, kami juga telah mengisih untuk objek kelas tersuai menggunakan Sebanding dan juga telah menyesuaikan setanding untuk objek kelas tersuai. Saya harap kami telah merangkumi bidang maksimum topik tersebut. Terima kasih! Selamat Belajar!

Atas ialah kandungan terperinci Isih Vektor Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Algoritma DFS dalam JavaArtikel seterusnya:Algoritma DFS dalam Java