CodeGym /Blog Java /rawak /HashSet mengandungi() Kaedah dalam Java
John Squirrels
Tahap
San Francisco

HashSet mengandungi() Kaedah dalam Java

Diterbitkan dalam kumpulan

Apakah HashSet?

HashSet ialah jenis data terbina dalam Java, dan dalam istilah awam anda boleh menyebut "HashSet ialah koleksi elemen unik yang tidak tertib." Sila lihat contoh asas:HashSet mengandungi() Kaedah dalam Java - 2
Rajah 1: Ilustrasi yang menunjukkan contoh HashSet yang sah dan tidak sah
(Sebelum anda meneruskan lebih jauh, kami mengharapkan anda mengetahui tentang istilah pencincangan dan jadual cincang .) HashSet memanjang ( memanjang bermakna kelas diwarisi daripada kelas lain) AbstractSet dan melaksanakan antara muka Set. Berikut ialah beberapa perkara yang perlu anda pertimbangkan sebelum bekerja dengan HashSets:
  • Ia mencipta koleksi ( koleksi bermaksud unit tunggal objek cth: ArrayList, LinkedList, Vector dll) yang menggunakan jadual cincang untuk penyimpanan.
  • Nilai pendua tidak dibenarkan dalam HashSet.
  • Anda boleh memasukkan nilai "null" dalam HashSet.
  • Tiada perintah sisipan dikekalkan. Jadi, jika anda ingin memasukkan item mengikut susunan, HashSet akan menjadi pilihan yang tidak baik untuk keperluan anda.
  • Jika anda ingin mendapatkan/mendapatkan semula elemen dalam masa tetap (O(1)) maka HashSet ialah salah satu pendekatan terbaik yang boleh anda ambil.

Apakah kaedah HashSet.contains()?

HashSet.contains() ialah kaedah boolean untuk menyemak sama ada item hadir dalam contoh HashSet atau tidak. Ringkasnya, sama ada set itu mengandungi elemen yang dikehendaki. Java.util.HashSet menyediakan pelaksanaan yang cekap untuknya. Biar kami tunjukkan kepada anda cara anda boleh menggunakannya dengan berkesan untuk menyelesaikan pertanyaan anda.

mengandungi() dengan Integer


import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
Pengeluaran
Semua elemen dalam set cincang: [0, null, 1, 2, 3, 4, 5] Selepas menambah pendua: [0, null, 1, 2, 3, 4, 5] -------Menggunakan Kaedah Mengandungi- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : true

mengandungi() dengan Strings

Lihat contoh lain kaedah contains() dengan Strings .

import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet(); 
		  
        // Adding elements into HashSet using add() 
        rainbow.add("Red"); 
        rainbow.add("Orange"); 
        rainbow.add("Yellow"); 
        rainbow.add("Green"); 
        rainbow.add("Blue"); 
        rainbow.add("Indigo"); 
        rainbow.add("Violet"); 
        
  
        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:"); 
        for (String i : rainbow){
             System.out.println(i); 
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow")); 
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White")); 
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender")); 
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red")); 
  
        // Remove a color from rainbow using remove() 
        rainbow.remove("Red"); 
    
        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red")); 

        System.out.println("\nAfter removing Red: " + rainbow);         
	}
}
Pengeluaran
Melintasi pelangi: Merah Violet Kuning Biru Indigo Jingga Hijau -------Menggunakan Kaedah Mengandungi------- pelangi.mengandungi("Kuning"): pelangi sejati.mengandungi("Putih"): pelangi palsu. mengandungi("Lavender"): pelangi palsu.mengandungi("Merah"): pelangi benar.mengandungi("Merah"): palsu Selepas mengalih keluar Merah: [Violet, Kuning, Biru, Indigo, Jingga, Hijau]
Seperti yang anda boleh lihat susunan output adalah berbeza daripada susunan meletakkan elemen ke dalam Hashset.

Kesimpulan

Kaedah mengandungi() untuk HashSets adalah kaedah yang agak mudah untuk digunakan. Walau bagaimanapun, sekiranya terdapat kekeliruan, anda sentiasa boleh merujuk siaran ini. Selamat Mengekod! :)
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION