Ce este un HashSet?
HashSet este un tip de date încorporat în Java și, în termeni profani, puteți spune „HashSet este o colecție neordonată de elemente unice”. Aruncă o privire la un exemplu de bază:
- Acesta creează o colecție ( colecția înseamnă o singură unitate de obiecte, de exemplu: ArrayList, LinkedList, Vector etc) care utilizează un tabel hash pentru stocare.
- Valorile duplicate nu sunt permise într-un HashSet.
- Puteți insera valori „nule” într-un HashSet.
- Nu se menține ordinea de inserare. Deci, dacă doriți să introduceți articole în ordine, un HashSet va fi o alegere proastă pentru cerințele dvs.
- Dacă doriți să obțineți/preluați un element în timp constant (O(1)), atunci un HashSet este una dintre cele mai bune abordări pe care le puteți lua.
Ce este metoda HashSet.contains()?
HashSet.contains() este o metodă booleană pentru a verifica dacă un element este prezent într-o instanță de HashSet sau nu. Mai simplu spus, dacă setul conține elementul dorit. Java.util.HashSet oferă o implementare eficientă pentru acesta. Permiteți-ne să vă arătăm cum îl puteți utiliza eficient pentru a vă rezolva întrebările.conţine() cu numere întregi
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));
}
}
Ieșire
Toate elementele din hashset: [0, null, 1, 2, 3, 4, 5] După adăugarea duplicatelor: [0, null, 1, 2, 3, 4, 5] -------Utilizarea metodei Contains- ------ digits.contains(0) : cifre adevărate.contains(2) : cifre adevărate.contains(3) : cifre false.contains(null) : adevărat
conţine() cu şiruri
Aruncă o privire la un alt exemplu de metodă contains() cu 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);
}
}
Ieșire
Traversând curcubeul: Roșu Violet Galben Albastru Indigo Portocaliu Verde -------Utilizarea metodei Contains------- rainbow.contains("Galben"): true rainbow.contains("Alb"): curcubeu fals. contains("Lavanda"): false rainbow.contains("Roșu"): true rainbow.contains("Roșu"): false După eliminarea Roșu: [Violet, Galben, Albastru, Indigo, Portocaliu, Verde]
După cum puteți vedea, ordinea de ieșire este diferită de ordinea de punere a elementelor în Hashset.
GO TO FULL VERSION