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:
- HashSet in Java
- Java HashSet vs HashMap
- Gerarchia HashSet
- Costruttori della classe java.util.HashSet
- Metodi della classe java.util.HashSet
- Implementazione di HashSet nel programma Java
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:
- Un HashSet in Java non consente valori duplicati.
- Può contenere valori nulli.
- HashSet non segue l'ordine di inserimento per la memorizzazione dei dati, ma utilizza l'hashcode per indicizzare i valori all'interno.
- Non è sincronizzato il che lo rende automaticamente non sicuro per i thread.
- 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 interfaccia | Implementajava.util.Map |
Memorizza i dati come oggetti | Memorizza i dati sotto forma di coppia chiave-valore |
HashSet richiede un solo parametro per l'inizializzazione dell'oggetto | Richiede due parametri (chiave, valore) per l'inizializzazione dell'oggetto |
Non consente la duplicazione di elementi | Non consente chiavi duplicate ma puoi memorizzare valori duplicati |
Consente un singolo valore nullo | Consente una singola chiave null e qualsiasi numero di valori null |
HashSet usa add ()metodo per aggiungere o memorizzare dati | HashMap 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.
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.