Rumah >Java >javaTutorial >Isih Vektor Java
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-olokMulakan 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
Berikut ialah contoh berikut yang disebut di bawah
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:
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.
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:
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.
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:
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.
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:
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.
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:
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!