Scopri cos'è HashSet in Java e come iniziare a utilizzarlo!

Questo articolo su HashSet in Java ti fornirà una panoramica completa di cosa sia esattamente HashSet in Java e come implementarlo. Si parlerà anche dei vari metodi e costruttori supportati dalla classe Java HashSet.

HashSet in Java è uno degli aspetti più importanti di . Viene in genere utilizzato per memorizzare valori univoci in modo non ordinato. Attraverso questo articolo su HashSet in Java, ti fornirò una panoramica completa di cos'è esattamente un HashSet e di come puoi usarlo nella tua applicazione.



Di seguito sono riportati gli argomenti trattati in questo articolo:



Cominciamo capendo prima cosa sono gli HashSet in Java.

come impostare classpath in java in windows 10

HashSet in Java



java.util.HashSet classe è un membro del framework delle collezioni Java cheeredita la classe AbstractSet eimplementa ilImpostato interfaccia . Implementa implicitamente una tabella hash per creare e archiviare una raccolta di elementi univoci. Hashtable non è altro che un'istanza della classe HashMap che utilizza un meccanismo di hashing per memorizzare le informazioni all'interno di un HashSet.

L'hashing è il processo di conversione del contenuto informativo in un valore univoco che è più comunemente noto come codice hash. Questo codice hash viene quindi utilizzato per indicizzare i dati associati alla chiave. L'intero processo di trasformazione della chiave informativa nel codice hash viene eseguito internamente.

Ora per una migliore comprensione di HashSet in Java, lasciatemi elencare alcune delle sue caratteristiche:



  1. Un HashSet in Java non consente valori duplicati.
  2. Può contenere valori nulli.
  3. HashSet non segue l'ordine di inserimento per la memorizzazione dei dati, ma utilizza l'hashcode per indicizzare i valori all'interno.
  4. Non è sincronizzato il che lo rende automaticamente non sicuro per i thread.
  5. La classe HashSet implementa anche Cloneable eInterfacce serializzabili.

Ora che sai cos'è esattamente HashSet in Java, andiamo oltre con questo articolo e demistifichiamo le differenze tra HashMap e HashSet in Java.

Java HashSet vs HashMap

HashSet HashMap
Implementajava.util.Imposta interfacciaImplementajava.util.Map
Memorizza i dati come oggettiMemorizza i dati sotto forma di coppia chiave-valore
HashSet richiede un solo parametro per l'inizializzazione dell'oggettoRichiede due parametri (chiave, valore) per l'inizializzazione dell'oggetto
Non consente la duplicazione di elementiNon consente chiavi duplicate ma puoi memorizzare valori duplicati
Consente un singolo valore nulloConsente una singola chiave null e qualsiasi numero di valori null
HashSet usa add ()metodo per aggiungere o memorizzare datiHashMap usa il metodo put () per memorizzare i dati

Ora che hai una chiara distinzione tra HashMap e HashSet, concentriamoci di nuovo su HashSet e approfondiamolo. Nella prossima sezione di questo articolo, ti presenterò la gerarchia completa di HashSet in Java.

Gerarchia HashSet in Java

Come puoi vedere dal diagramma sotto riportato,La classe HashSet implementa l'interfaccia Set. L'interfaccia Set eredita inoltre l'interfaccia Collection che alla fine estende l'interfaccia Iterable in un ordine gerarchico.

Gerarchia HashSet Java - HashSet in Java - Edureka

Ora, andando avanti con questo articolo HashSet in Java, diamo un'occhiata ai vari costruttori supportato da questa classe.

Costruttori della classe java.util.HashSet

Costruttore Descrizione
HashSet () Questo è il costruttore predefinito della classe HashSet
HashSet (capacità interna) Questo costruttore viene utilizzato per inizializzare la capacità iniziale del set di hash. La capacità può crescere dinamicamente con l'aggiunta di nuovi elementi
HashSet (int capacità, float loadCapacity) Questo costruttore viene utilizzato per inizializzare la capacità iniziale del set di hash insieme alla capacità di carico
HashSet (Collezione c) Questo costruttore viene utilizzato per inizializzareil set di hash utilizzando gli elementi della Collection c

Questi erano i quattro costruttori della classe HashSet in . Vediamo ora quali sono i vari definito in Java HashSet.

prerequisiti per il corso di intelligenza artificiale

Metodi della classe java.util.HashSet

Metodo Descrizione
booleano add (Object obj) Questo metodo aiuta ad aggiungere un elemento specificato nell'HashSet solo se non è presente
void clear () Questo metodo aiuta a rimuovere tutti gli elementi da HashSet
Oggetto clone () Questo metodo restituisce una copia superficiale dell'istanza HashSet anziché i cloni degli elementi HashSet
booleano contiene (Oggetto o) Questo metodo restituisce true se l'elemento passato è presente all'interno di HashSet
booleano isEmpty () Questo metodo restituisce true nel caso in cui HashSet sia vuoto
Iteratore iteratore () Questo metodo restituisce un iteratore sugli elementi presenti in HashSet
booleano remove (Object o) Questo metodo aiuta a rimuovere l'elemento specificato da HashSet se è presente
int size () Questo metodo restituisce il numero totale di elementi presenti in HashSet

Insieme ai metodi sopra elencati, la classe HashSet in Java contiene anche il file dalle sue superclassi.

Proviamo ora a implementare questi metodi e bagnarci i piedi con la codifica.

Implementazione di HashSet nel programma Java

Nell'esempio seguente, proveremo a implementare una serie di metodi forniti dalla classe HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Creazione di un set di HashSet eduCourses = new HashSet () // Aggiunta di nuovi elementi all'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') // L'aggiunta di elementi duplicati verrà ignorata eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Controlla se HashSet contiene un elemento specifico String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' è nell'elenco dei corsi. ')} else {System.out.println (myCourse +' non è nell'elenco dei corsi. ')} // Ordinamento dei corsi edu utilizzando List List list = new ArrayList (eduCourses) Collections.sort (list) // Stampa gli elementi ordinati di HashSet System.out.println (' Stampa i corsi in ordine ordinato utilizzando List: '+ list) // Rimozione di elementi da HashSet utilizzando remove () eduCourses.remove (' Python ') // Iterazione sugli elementi HashSet System.out.println (' Iterazione sull'elenco dei corsi dopo la rimozione Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Creazione di un altro oggetto di HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Rimozione di tutti i nuovi elementi da HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Dopo aver richiamato removeAll () method course left: '+ eduCourses) // Rimozione di elementi sulla base della condizione specificata eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Dopo aver richiamato il metodo removeIf (): '+ eduCourses) // Rimozione di elementi da eduCourses specificati in eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet after' + 'keepAll () operazione: '+ eduNewCourses) // Rimozione di tutti gli elementi disponibili nel set eduCourses.clear () System.out.println (' Dopo aver richiamato il metodo clear (): '+ eduCourses)}}

Quando esegui il codice sopra, ti darà l'output mostrato di seguito.

Con questo, arriviamo alla fine di questo articolo. Spero di essere stato in grado di mantenere i concetti chiari e chiari. Puoi saperne di più su passando attraverso il nostro .

Ora che hai capito cos'è un HashSet in Java, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione e certificazione Java J2EE e SOA di Edureka è progettato per studenti e professionisti che desiderano diventare sviluppatori Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Hai domande per noi? Per favore, menzionalo nella sezione commenti di questo articolo 'HashSet in Java' e ti risponderemo il prima possibile.