C # hashset

C # hashset
In C Sharp, un hashset è un contenitore che è una raccolta di elementi che non sono presenti in un modulo d'ordine. Questo hashset viene utilizzato quando non vogliamo avere dati duplicati. Gli hashset funzionano come elenchi, ma le loro prestazioni sono migliori degli elenchi. Hashset può archiviare solo lo stesso tipo di articoli. È una raccolta dinamica, la dimensione dell'hashset aumenta mentre aggiungiamo più elementi ad esso. Questo articolo conterrà la creazione e l'aggiunta di elementi all'hashset.

Esempio 1

Per avviare un programma per l'hashset in C Sharp, useremo due librerie nel codice sorgente. Uno è il sistema e il secondo è il sistema.collezioni. Generico, questi file di intestazione svolgono un ruolo importante nell'uso delle classi e delle funzioni integrate al programma.

Usando il sistema;
Utilizzo del sistema.Collezioni.Generico;

Metodo 1:

All'interno della classe, viene dichiarato il programma principale. Per creare un hashset, utilizziamo una classe di hashset presente nella libreria di raccolta. Un nuovo hashset viene creato utilizzando una nuova parola chiave, in quanto è coinvolto nella creazione dinamica dell'hashset. Un hashset è una variabile stringa, in quanto contiene tutti i tipi di simboli, valori alfanumerici, ecc. Dopo la parola chiave hashset, è definito il nome per l'hashset.

# Hashset myhash1 = nuovo hashset ();

Una volta creato l'hashset, ora inizieremo ad aggiungere elementi all'hashset uno dopo l'altro. Questa aggiunta è eseguita manualmente. La funzione principale incorporata utilizzata per immettere i valori è la funzione "add ()" di C #. Questa funzione è chiamata con il nome di un nuovo hashset che funge da oggetto. Il valore che deve essere inserito nell'hashset viene utilizzato come argomento nel parametro della funzione ADD.

# Myhash1.Aggiungi ("C");

Abbiamo inserito 5 valori sull'hashset utilizzando lo stesso ADD (). La funzione ADD agisce come una funzione append () della stringa che continua ad aggiungere i valori alla fine della stringa. Dopo aver aggiunto valori, li visualizzeremo. Per accedere agli elementi in un hashset, useremo un ciclo foreach. Questo ciclo ripeterà fino all'ultimo elemento dell'hashset.

Metodo 2:

Un altro modo di creare un hashset è crearlo utilizzando un inizializzatore di raccolta che inizializza l'hashset. Questo è diverso dal metodo 1, poiché dobbiamo utilizzare una funzione ADD () per aggiungere elementi. Ma usando questo inizializzatore, possiamo aggiungere valori al momento della dichiarazione e della creazione dell'hashset.

# Hashset MyHash2 = New Hashset () 10, 100, 1000, 10000, 100000;

Qui l'hashset è di tipo di dati interi. 5 I valori interi vengono inseriti nella funzione quando la creazione è stata eseguita in modo dinamico.

Per visualizzare gli elementi in questo hashset, utilizziamo di nuovo un ciclo foreach in modo che possa accedere all'ultimo elemento dell'hashset.

Salva il codice e questo verrà eseguito nel terminale tramite il compilatore MCS e un mono che viene utilizzato per l'esecuzione.

File $ MCS.cs
File $ mono.exe

Puoi vedere che utilizzando un ciclo foreach, viene visualizzato ogni elemento dell'hashset.

Esempio 2

Dopo aver aggiunto elementi, questi elementi e l'hashset possono essere modificati rimuovendoli o aggiungendo nuovi elementi nell'hashset. Ora scriveremo un semplice programma per rimuovere gli articoli dall'hashset.

Quindi, prima di tutto, creeremo di nuovo un nuovo hashset, come abbiamo fatto in precedenza utilizzando la classe hashset e usando il metodo ADD (), tutti gli elementi verranno aggiunti.

Prima della rimozione di qualsiasi articolo, vorremo visualizzare il numero di elementi già presenti nell'hashset. Questo verrà fatto attraverso una funzione di contatore. Questa funzione Count () verrà chiamata tramite l'oggetto hashset.

# Myhash.contare ();

Dopo che tutti gli elementi vengono visualizzati una volta, rimuoveremo l'articolo dall'hashset utilizzando una funzione di rimuovere.

# Myhash.Rimuovere ("Ruby");

Nel parametro della funzione Rimuovi, passiamo l'elemento che vogliamo rimuovere. Dopo la rimozione, di nuovo, la funzione di conteggio conta gli elementi lasciati dopo aver rimosso un articolo. Allo stesso modo, possiamo rimuovere più articoli. Ma se qualcuno vuole vuoto l'intero hashset, questo viene fatto usando una funzione Clear (). Questo viene utilizzato per rimuovere tutti gli elementi dall'hashset. È anche chiamato oggetto hashset.

# Myhash.chiaro();

Quindi verificheremo se l'hashset è vuoto o meno contando gli elementi tramite la funzione count ().

Esempio 3

Ora lavorando sulle operazioni set, la classe hashset contiene alcuni metodi utilizzati per applicare alcune operazioni sull'hashset. Uno di questi è un sindacato con. Questa operazione viene utilizzata per modificare l'hashset corrente aggiungendo elementi completamente nuovi. Tutti i nuovi elementi sono aggiunti al precedente. Ma per mantenere l'integrità, gli articoli duplicati vengono rimossi. Ad esempio, mentre aggiungiamo elementi semplicemente a un hashset, se un hashset ha già un c affilato, ma aggiungiamo di nuovo l'articolo C nitido, questo verrà aggiunto agli elementi correnti. Ma usando l'operazione sindacale, la duplicità viene rimossa; Se un elemento deve essere aggiunto se esiste già, apparirà una sola volta; Questa è unione. Questo è elaborato in un esempio.

Innanzitutto, creeremo un hashset e poi aggiungeremo alcuni elementi ad esso. Dopodiché, di nuovo, crea un altro hashset tramite una classe hashset, quindi aggiungi un elemento tramite Add () funzione. L'aggiunta di elementi dovrebbe essere seguito in modo tale che alcuni elementi dovrebbero essere gli stessi che abbiamo inserito nell'hashset. Ora entrambi l'hashset contiene tutti gli elementi separatamente. Ci uniremo a loro attraverso una funzione specificata.

Ora applicheremo un metodo Uniowith () in modo da poter rimuovere gli elementi copiati che si verificano due volte nell'hashset al momento dell'Unione. Questa funzione viene chiamata attraverso l'oggetto del primo hashset, quindi il parametro prenderà l'oggetto del secondo hashset.

# Myhash1.Union With (MyHash2);

Usandolo, tutti gli elementi sono presenti nel primo hashset. Quindi stamperemo i valori dal primo hashset.

# IntersectWith ()

Contrariamente a UnionWith (), c'è un altro operatore che viene utilizzato per ottenere quegli articoli che vengono copiati. In altre parole, quegli elementi dell'hashset sono selezionati che appaiono due volte nell'hashset. Quindi, per implementare questo, seguiremo lo stesso esempio sopra; Creeremo due hashset e quindi aggiungiamo valori ad essi. Successivamente, applicheremo la funzione di interseca utilizzando gli oggetti degli hashset.

# Myhash1.Intersectwith (myhash2);

Dai risultati, puoi vedere che solo due valori erano simili.

Conclusione

Gli hashset possono essere creati utilizzando due approcci. Uno proviene dalla classe Hashset definita nella libreria dei file di intestazione. E il secondo è attraverso l'inizializzatore della raccolta. Entrambe usano metodologie diverse per aggiungere oggetti in hashset. Possiamo anche modificare gli elementi una volta inseriti in hashset. Utilizzando un hashset, è facile aggiungere o eliminare qualsiasi articolo. Qui vengono anche menzionate due operazioni di base che vengono utilizzate per gestire gli articoli Hashset. Abbiamo spiegato tutte queste caratteristiche degli hashset attraverso esempi elementari implementati nel sistema operativo di Ubuntu.