Aflați ce este HashSet în Java și cum să începeți cu el!



Acest articol despre HashSet în Java vă va oferi o imagine de ansamblu completă despre ce este exact HashSet în Java și cum să îl implementați. De asemenea, va vorbi despre diferitele metode și constructori suportați de clasa Java HashSet.

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:





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:



  1. Un HashSet în Java nu permite duplicarea valorilor.
  2. Poate conține valori nule.
  3. HashSet nu respectă ordinea de inserare pentru stocarea datelor, ci folosește codul hash pentru indexarea valorilor din interior.
  4. Este non- sincronizat ceea ce îl face în mod automat nesigur.
  5. 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țaInstrumentejava.util.Map
Stochează datele ca obiecteStochează date sub formă de pereche cheie-valoare
HashSet necesită doar un parametru pentru inițializarea obiectului săuEste nevoie de doi parametri (cheie, valoare) pentru inițializarea obiectului său
Nu permite elemente duplicateNu 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 datelorHashMap 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

Ierarhia Java HashSet - HashSet în Java - Edureka

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.