Rumah  >  Artikel  >  Java  >  Gunakan kaedah containsAll() kelas HashSet untuk menentukan sama ada satu set mengandungi semua elemen dalam set lain

Gunakan kaedah containsAll() kelas HashSet untuk menentukan sama ada satu set mengandungi semua elemen dalam set lain

WBOY
WBOYasal
2023-07-24 09:25:331609semak imbas

Gunakan kaedah containsAll() kelas HashSet untuk menentukan sama ada koleksi mengandungi semua elemen dalam koleksi lain

HashSet ialah kelas koleksi tidak tertib, bukan pendua yang disediakan oleh rangka kerja koleksi Java. Ia dilaksanakan berdasarkan jadual cincang dan boleh memasukkan, memadam dan mencari elemen dengan cepat. Dalam banyak senario, kita perlu menentukan sama ada set mengandungi semua elemen dalam set lain. Java menyediakan kaedah containsAll() untuk memenuhi keperluan ini.

Contoh kod adalah seperti berikut:

import java.util.HashSet;

public class HashSetContainsAllExample {
    public static void main(String[] args) {
        // 创建两个HashSet集合
        HashSet<Integer> set1 = new HashSet<Integer>();
        HashSet<Integer> set2 = new HashSet<Integer>();

        // 向set1中添加元素
        set1.add(1);
        set1.add(2);
        set1.add(3);
        set1.add(4);

        // 向set2中添加元素
        set2.add(2);
        set2.add(4);

        // 使用containsAll()方法判断set1是否包含set2中的所有元素
        boolean result = set1.containsAll(set2);

        if (result) {
            System.out.println("set1包含set2中的所有元素");
        } else {
            System.out.println("set1不包含set2中的所有元素");
        }
    }
}

Dalam kod di atas, kami mencipta dua set HashSet (set1 dan set2) dan menambah elemen 1, 2, 3 dan 4 kepada set1 dan menambah elemen 2 kepada set2 dan 4. Kemudian, kami menggunakan kaedah containsAll() untuk menentukan sama ada set1 mengandungi semua elemen dalam set2. Akhir sekali, maklumat yang sepadan dicetak berdasarkan keputusan yang dikembalikan.

Jalankan kod di atas dan anda akan mendapat output berikut:

set1不包含set2中的所有元素

Penjelasan bahawa set1 tidak mengandungi semua elemen dalam set2. Ini kerana elemen 2 tiada daripada set1, jadi kaedah containsAll() mengembalikan palsu.

Menggunakan kaedah containsAll() boleh menentukan sama ada set mengandungi semua elemen dalam set lain dengan mudah. Kaedah ini bukan sahaja terpakai untuk HashSet, tetapi kelas koleksi lain yang melaksanakan antara muka Set (seperti TreeSet).

Perlu diambil perhatian bahawa penghakiman kaedah containsAll() adalah berdasarkan kaedah equals() elemen, bukan berdasarkan alamat memori. Ini bermakna apabila kita menentukan sama ada dua set adalah sama, kita hanya perlu membandingkan sama ada elemen di dalamnya adalah sama, dan tidak perlu membandingkan sama ada alamat rujukannya adalah sama.

Untuk meringkaskan, menggunakan kaedah containsAll() kelas HashSet boleh dengan mudah dan cekap menentukan sama ada set mengandungi semua elemen dalam set lain. Kaedah ini sangat berguna dalam pembangunan sebenar dan boleh membantu kami menyelesaikan masalah berkaitan dengan cepat.

Atas ialah kandungan terperinci Gunakan kaedah containsAll() kelas HashSet untuk menentukan sama ada satu set mengandungi semua elemen dalam set lain. 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