HashSet în Java este unul dintre cele mai importante aspecte ale . Este de obicei folosit pentru a stoca valori unice într-o manieră neordonată. Prin intermediul acestui articol despre HashSet în Java, vă voi oferi o prezentare completă a ceea ce este exact un HashSet și cum îl puteți utiliza în aplicația dvs.
Mai jos sunt subiectele tratate în acest articol:
- HashSet în Java
- Java HashSet vs HashMap
- HashSet Ierarhia
- Constructorii clasei java.util.HashSet
- Metode ale clasei java.util.HashSet
- Implementarea HashSet în programul Java
Să începem înțelegând mai întâi ce sunt HashSet în Java.
HashSet în Java
java.util.HashSet clasă este membru al cadrului de colecții Java caremoștenește clasa AbstractSet șiimplementeazăA stabilit interfață . Implementează implicit un hashtable pentru crearea și stocarea unei colecții de elemente unice. Hashtable nu este altceva decât o instanță a clasei HashMap care folosește un mecanism de hash pentru stocarea informațiilor într-un HashSet.
Hashing este procesul de conversie a conținutului informațional într-o valoare unică care este cunoscută mai popular sub numele de cod hash. Acest hashcode este apoi utilizat pentru indexarea datelor asociate cu cheia. Întregul proces de transformare a cheii informaționale în cod hash este realizat intern.
browser db pentru tutorial sqlite
Acum, pentru o mai bună înțelegere a HashSet în Java, permiteți-mi să enumăr câteva dintre caracteristicile sale:
- Un HashSet în Java nu permite duplicarea valorilor.
- Poate conține valori nule.
- HashSet nu respectă ordinea de inserare pentru stocarea datelor, ci folosește codul hash pentru indexarea valorilor din interior.
- Este non- sincronizat ceea ce îl face în mod automat nesigur.
- Clasa HashSet implementează și Cloneable șiInterfețe serializabile.
Acum, că știți exact ce este HashSet în Java, să mergem mai departe cu acest articol și să demistificăm diferențele dintre HashMap și HashSet în Java.
Java HashSet vs HashMap
HashSet | HashMap |
Instrumentejava.util.Setați interfața | Instrumentejava.util.Map |
Stochează datele ca obiecte | Stochează date sub formă de pereche cheie-valoare |
HashSet necesită doar un parametru pentru inițializarea obiectului său | Este nevoie de doi parametri (cheie, valoare) pentru inițializarea obiectului său |
Nu permite elemente duplicate | Nu permite cheile duplicate, dar puteți stoca valori duplicate |
Permite o singură valoare nulă | Permite o singură cheie nulă și orice număr de valori nule |
HashSet use add ()metodă pentru adăugarea sau stocarea datelor | HashMap folosește metoda put () pentru stocarea datelor |
Acum, că aveți o distincție clară între HashMap și HashSet, haideți acum să ne concentrăm din nou pe HashSet și să ne adâncim în el. În următoarea secțiune a acestui articol, vă voi prezenta ierarhia completă a HashSet în Java.
HashSet Ierarhia în Java
După cum puteți vedea din diagrama de mai jos,Clasa HashSet implementează interfața Set. Interfața Set moștenește în continuare interfața Colecție, care extinde în cele din urmă interfața Iterable într-o ordine ierarhică.
creați o copie a obiectului java
Acum, mergând mai departe cu acest articol HashSet în Java, haideți să verificăm diferitele constructori susținută de această clasă.
Constructorii clasei java.util.HashSet
Constructor | Descriere |
HashSet () | Acesta este constructorul implicit al clasei HashSet |
HashSet (capacitate int) | Acest constructor este utilizat pentru a inițializa capacitatea inițială a setului de hash. Capacitatea poate crește dinamic cu adăugarea de elemente noi |
HashSet (capacitate int, float loadCapacity) | Acest constructor este folosit pentru a inițializa capacitatea inițială a setului hash împreună cu capacitatea de încărcare |
HashSet (Colecția c) | Acest constructor este folosit pentru a inițializasetul hash utilizând elementele din Colecția c |
Aceștia au fost cei patru constructori ai clasei HashSet din . Să aflăm acum care sunt diferitele definit în Java HashSet.
Metode ale clasei java.util.HashSet
Metodă | Descriere |
add boolean (obiect obiect) | Această metodă ajută la adăugarea unui element specificat în HashSet numai dacă nu este prezent |
gol clar () | Această metodă ajută la eliminarea tuturor elementelor din HashSet |
Clonare obiect () | Această metodă returnează o copie superficială a instanței HashSet, mai degrabă decât clonele elementelor HashSet |
boolean conține (Obiectul o) | Această metodă returnează adevărat dacă elementul trecut este prezent în HashSet |
boolean isEmpty () | Această metodă returnează adevărat în cazul în care HashSet este gol |
Iterator iterator () | Această metodă returnează un iterator asupra elementelor prezente în HashSet |
eliminare booleană (Obiectul o) | Această metodă ajută la eliminarea elementului specificat din HashSet dacă este prezent |
int size () | Această metodă returnează numărul total de elemente prezente în HashSet |
Împreună cu metodele enumerate mai sus, clasa HashSet din Java conține și din superclasele sale.
Să încercăm acum să punem în aplicare aceste metode și să ne udăm picioarele cu codificare.
care este diferența dintre suprascriere și supraîncărcare
Implementarea HashSet în programul Java
În exemplul de mai jos, vom încerca să implementăm o serie de metode furnizate de clasa HashSet.
import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Crearea unui set HashSet eduCourses = new HashSet () // Adăugarea de elemente noi în HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Adăugarea elementelor duplicate va fi ignorată eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Verificați dacă HashSet conține un element specific String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ') este în lista de cursuri. ')} else {System.out.println (myCourse +' nu este în lista de cursuri. ')} // Sortarea eduCourses folosind List List list = new ArrayList (eduCourses) Collections.sort (list) // Imprimarea elementelor sortate ale HashSet System.out.println (' Tipărirea cursurilor în ordine sortată folosind Listă: '+ listă // Eliminarea articolelor din HashSet folosind remove () eduCourses.remove (' Python ') // Iterarea peste elementele HashSet System.out.println (' Iterarea peste lista cursurilor după eliminare Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Crearea unui alt obiect al HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Eliminarea tuturor elementelor noi din HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('După invocarea removeAll () metoda cursuri rămase: '+ eduCourses) // Eliminarea elementelor pe baza condiției specificate eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' După invocarea metodei removeIf (): '+ eduCourses) // Eliminarea elementelor din eduCourses care sunt specificate în eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println („HashSet după„ + ”operația retainAll (): '+ eduNewCourses) // Eliminarea tuturor elementelor disponibile în setul eduCourses.clear () System.out.println (' După invocarea metodei clear (): '+ eduCourses)}}
Când executați codul de mai sus, acesta vă va oferi ieșirea de mai jos.
Cu aceasta, ajungem la sfârșitul acestui articol. Sper că am reușit să păstrez conceptele clare și clare. Puteți afla mai multe despre trecând prin a noastră .
Acum că ați înțeles ce este un HashSet în Java, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.
Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui articol „HashSet în Java” și vă vom contacta cât mai curând posibil.