Rumah > Java > javaTutorial > teks badan

Isih Vektor Java

WBOY
Lepaskan: 2024-08-30 15:30:31
asal
432 orang telah melayarinya

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);
Salin selepas log masuk

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));
}
}
Salin selepas log masuk

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);
}
}
}
Salin selepas log masuk

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));
}
}
Salin selepas log masuk

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);
}
}
Salin selepas log masuk

Output:

Isih Vektor Java

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

Collections.sort(vEmp, Collections.reverseOrder())
Salin selepas log masuk

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);
}
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!