Rumah  >  Artikel  >  Java  >  Cara menggunakan fungsi Koleksi untuk operasi pengumpulan dalam Java

Cara menggunakan fungsi Koleksi untuk operasi pengumpulan dalam Java

WBOY
WBOYasal
2023-06-26 15:47:041177semak imbas

Kelas Koleksi di Java menyediakan satu set algoritma yang biasa digunakan untuk beroperasi pada koleksi. Dengan menggunakan fungsi ini, pembangun Java boleh menyusun, mencari, menggantikan, menyalin dan operasi lain pada koleksi dengan mudah. Artikel ini akan memperkenalkan beberapa fungsi Collections yang biasa digunakan untuk membantu pembaca memahami cara menggunakan fungsi Collections untuk melaksanakan operasi pengumpulan dalam Java.

  1. Isih

Fungsi isihan dalam kelas Koleksi boleh mengisih koleksi dengan menentukan Pembanding. Pembanding ialah antara muka yang biasanya digunakan untuk menentukan susunan elemen dalam koleksi. Berikut ialah contoh pengisihan menggunakan fungsi Collections.sort:

List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
numbers.add(4);

Collections.sort(numbers);

for (Integer num : numbers) {
    System.out.print(num + " ");
}

Kod di atas akan mengeluarkan: 1 2 3 4. Jika kita ingin menyusun mengikut tertib menurun, kita boleh lulus dalam Comparator seperti ini:

Collections.sort(numbers, new Comparator<Integer>() {
    public int compare(Integer o1, Integer o2) {
        return o2 - o1;
    }
});

Jadi kita boleh mendapatkan hasil dalam tertib menurun: 4 3 2 1.

  1. Cari elemen

Kelas Koleksi menyediakan beberapa fungsi carian yang biasa digunakan. Berikut ialah beberapa fungsi carian yang biasa digunakan dan penggunaannya:

  • binarySearch(Senarai senarai, kunci Objek): Gunakan algoritma carian binari untuk mencari elemen yang ditentukan dalam senarai tersusun.
  • maks(Koleksi koleksi): Mengembalikan elemen terbesar dalam koleksi.
  • min(Koleksi koleksi): Mengembalikan elemen terkecil dalam koleksi.

Berikut ialah contoh carian menggunakan fungsi Carian binari:

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Carol");
names.add("David");

int index = Collections.binarySearch(names, "Carol");
System.out.println("Index of Carol: " + index);

Ini akan mengeluarkan: "Indeks Carol: 2".

  1. Ganti elemen

Terdapat fungsi ganti dalam kelas Koleksi, yang boleh digunakan untuk menggantikan elemen dalam koleksi. Berikut ialah contoh menggantikan menggunakan fungsi ganti:

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Carol");
names.add("David");

Collections.replaceAll(names, "Bob", "Beth");

for (String name : names) {
    System.out.print(name + " ");
}

Ini akan mengeluarkan: "Alice Beth Carol David".

  1. Salin Koleksi

Fungsi salin dalam kelas Koleksi boleh menyalin elemen dalam satu koleksi ke koleksi lain. Ambil perhatian bahawa kedua-dua koleksi mestilah sama saiznya. Berikut ialah contoh penyalinan menggunakan fungsi salin:

List<String> names1 = new ArrayList<>();
names1.add("Alice");
names1.add("Bob");
names1.add("Carol");
names1.add("David");

List<String> names2 = new ArrayList<>(names1.size());

Collections.copy(names2, names1);

for (String name : names2) {
    System.out.print(name + " ");
}

Ini akan menghasilkan: "Alice Bob Carol David".

  1. Koleksi tidak berubah

Jika anda perlu mencipta koleksi tidak berubah, anda boleh menggunakan fungsi unmodifiableList, unmodifiableSet dan unmodifiableMap dalam kelas Collections untuk menciptanya. Fungsi ini mengembalikan koleksi berbalut dan tidak membenarkan pengubahsuaian elemen. Berikut ialah contoh menggunakan fungsi unmodifiableList untuk mencipta koleksi yang tidak boleh diubah:

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Carol");
names.add("David");

List<String> immutableNames = Collections.unmodifiableList(names);

System.out.print("Immutable names: ");
for (String name : immutableNames) {
    System.out.print(name + " ");
}

try {
    immutableNames.add("Eve");
} catch (UnsupportedOperationException e) {
    System.out.println("
Failed to add Eve to immutableNames");
}

Ini akan mengeluarkan: "Nama tidak boleh diubah: Alice Bob Carol David" dan akan membuang UnsupportedOperationException apabila cuba menambah Hawa.

Dengan menggunakan fungsi yang disediakan dalam kelas Koleksi ini, pembangun Java boleh melakukan operasi biasa pada koleksi dengan mudah. Jika anda perlu melakukan operasi pengumpulan lain, anda boleh menyemak kelas Koleksi dalam dokumentasi API Java.

Atas ialah kandungan terperinci Cara menggunakan fungsi Koleksi untuk operasi pengumpulan dalam 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