Mi az a HashSet?
A HashSet a Java beépített adattípusa, és laikus kifejezéssel azt mondhatjuk, hogy „A HashSet egyedi elemek rendezetlen gyűjteménye”. Vessen egy pillantást egy alapvető példára:
- Gyűjteményt hoz létre (a gyűjtemény az objektumok egyetlen egységét jelenti, pl.: ArrayList, LinkedList, Vector stb.), amely egy hash táblát használ a tároláshoz.
- HashSetben nem megengedett az értékek ismétlődése.
- A „null” értékeket beillesztheti a HashSetbe.
- Nincs beillesztési sorrend. Tehát ha sorrendben szeretné beszúrni az elemeket, a HashSet rossz választás lesz az Ön igényeinek.
- Ha állandó időben (O(1)) szeretne egy elemet beszerezni/lekérni, akkor a HashSet az egyik legjobb megközelítés.
Mi az a HashSet.contains() metódus?
A HashSet.contains() egy logikai módszer annak ellenőrzésére, hogy egy elem jelen van-e a HashSet példányában. Egyszerűen fogalmazva, hogy a készlet tartalmazza-e a kívánt elemet. A Java.util.HashSet hatékony megvalósítást biztosít hozzá. Mutatjuk, hogyan használhatja hatékonyan kérdéseinek megoldására.tartalmazza() egész számokkal
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));
}
}
Kimenet
A hashset összes eleme: [0, null, 1, 2, 3, 4, 5] Ismétlődések hozzáadása után: [0, null, 1, 2, 3, 4, 5] -------A Tartalmaz módszer használata ------ digits.contains(0) : igaz számjegyek.contains(2) : igaz számjegyek.contains(3) : hamis számjegyek.contains(null) : igaz
tartalmazza() karakterláncokkal
Vessen egy pillantást egy másik példára a include() metódusra a Strings használatával .
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);
}
}
Kimenet
Áthaladva a szivárványon: Piros Lila Sárga Kék Indigónarancs Zöld -------Tartalmaz módszer használata------- rainbow.contains("Sárga"): igazi szivárvány.contains("Fehér"): hamis szivárvány. tartalmaz("Levendula"): hamis szivárvány.contains("Piros"): igazi szivárvány.contains("Piros"): false Piros eltávolítása után: [ibolya, sárga, kék, indigó, narancs, zöld]
Amint láthatja, a kimenet sorrendje eltér az elemek Hashsetbe való elhelyezésének sorrendjétől.
GO TO FULL VERSION