C # Hashset

C # Hashset
In C Sharp ist ein Hashset ein Container, der eine Sammlung von Elementen ist, die nicht in Auftragsform vorhanden sind. Dieses Hashset wird verwendet, wenn wir keine doppelten Daten haben möchten. Hashsets funktionieren wie Listen, aber ihre Leistung ist besser als Listen. Hashset kann nur den gleichen Artikeltyp speichern. Es ist eine dynamische Sammlung, die Größe des Hashset nimmt zu, wenn wir mehr Elemente hinzufügen. Dieser Artikel enthält die Erstellung und Zugabe von Elementen zum Hashset.

Beispiel 1

Um ein Programm für das Hashset in C Sharp zu starten, werden wir zwei Bibliotheken im Quellcode verwenden. Eines ist das System und das zweite das System.Sammlungen. Allgemeine, beide Header-Dateien spielen eine wichtige Rolle bei der Verwendung von Klassen und integrierten Funktionen für das Programm.

Mit System verwenden;
Verwenden von System.Sammlungen.Generisch;

Methode 1:

In der Klasse wird das Hauptprogramm deklariert. Um ein Hashset zu erstellen, verwenden wir eine Hashset -Klasse, die in der Sammelbibliothek vorhanden ist. Ein neues Hashset wird mithilfe eines neuen Keywords erstellt, da es an der dynamischen Erstellung des Hashset beteiligt ist. Ein Hashset ist eine Zeichenfolgenvariable, da sie alle Arten von Symbolen, alphanumerische Werte usw. enthält. Nach dem Hashset -Schlüsselwort ist der Name für das Hashset definiert.

# Hashset myhash1 = neuer Hashset ();

Sobald das Hashset erstellt wurde, werden wir jetzt nacheinander Elemente zum Hashset hinzufügen. Diese Ergänzung erfolgt manuell. Die wichtigste integrierte Funktion zum Eingeben von Werten ist die Funktion 'add ()' von C #. Diese Funktion wird mit dem Namen eines neuen Hashset bezeichnet, das als Objekt fungiert. Der Wert, der in das Hashset eingegeben werden soll.

# Myhash1.Add ("c");

Wir haben 5 Werte in das Hashset eingegeben, indem wir denselben add () verwendet haben (). Die Funktion hinzufügen wirkt wie eine append () -Funktion der Zeichenfolge, die die Werte am Ende der Zeichenfolge weiter hinzufügt. Nach dem Hinzufügen von Werten zeigen wir sie an. Um in einem Hashset auf Elemente zuzugreifen, werden wir eine Foreach -Schleife verwenden. Diese Schleife wird bis zum letzten Element des Hashset iteriert.

Methode 2:

Eine andere Möglichkeit, ein Hashset zu erstellen. Dies unterscheidet sich von der Methode 1, da wir eine add () -Funktion verwenden müssen, um Elemente hinzuzufügen. Durch die Verwendung dieses Initialisierers können wir zum Zeitpunkt der Erklärung und Erstellung des Hashset Werte hinzufügen.

# Hashset myhash2 = neuer Hashset () 10, 100, 1000, 10000, 100000;

Hier ist der Hashset von ganzzahliger Datentyp. 5 Ganzzahlwerte werden in die Funktion eingegeben, wenn die Erstellung dynamisch durchgeführt wurde.

Um die Elemente in diesem Hashset anzuzeigen, verwenden wir erneut eine Foreach -Schleife, damit sie auf das letzte Element des Hashset zugreifen kann.

Speichern Sie den Code, und dies wird im Terminal über den MCS -Compiler und ein Mono ausgeführt, das für die Ausführung verwendet wird.

$ Mcs Datei.CS
$ mono -Datei.exe

Sie können sehen, dass jedes Element des Hashset eine foreach -Schleife verwendet wird.

Beispiel 2

Nach dem Hinzufügen von Elementen können diese Elemente und das Hashset geändert werden, indem sie entfernen oder neue Elemente im Hashset hinzugefügt werden. Jetzt schreiben wir ein einfaches Programm, um Elemente aus dem Hashset zu entfernen.

Zuallererst werden wir wieder ein neues Hashset erstellen, wie wir es zuvor mit der Hashset -Klasse getan haben, und mit der Methode add () werden alle Elemente hinzugefügt.

Vor dem Entfernen eines Elements möchten wir die Anzahl der bereits im Hashset vorhandenen Elemente anzeigen. Dies erfolgt durch eine Gegenfunktion. Diese Funktion count () wird durch das Hashset -Objekt aufgerufen.

# Myhash.zählen ();

Nachdem alle Elemente einmal angezeigt werden.

# Myhash.Entfernen ("Ruby");

Im Parameter der Entfernungsfunktion übergeben wir das Element, das wir entfernen möchten. Nach dem Entfernen wird die Zählfunktion erneut die Elemente zählt, die nach dem Entfernen eines Elements verlassen wurden. Ebenso können wir mehr Gegenstände entfernen. Aber wenn jemand das gesamte Hashset leer lassen möchte, wird dies durch Verwendung einer Clear () -Funktion durchgeführt. Dies wird verwendet, um alle Elemente aus dem Hashset zu entfernen. Es wird auch als Hashset -Objekt bezeichnet.

# Myhash.klar();

Dann prüfen wir, ob das Hashset leer ist oder nicht, indem wir die Elemente über die Funktion count () zählen.

Beispiel 3

Die Hashset -Klasse arbeitet nun an den festgelegten Operationen und enthält einige Methoden, mit denen einige Operationen auf dem Hashset angewendet werden. Einer von ihnen ist eine Vereinigung mit. Dieser Vorgang wird verwendet, um das aktuelle Hashset zu ändern, indem alle neuen Elemente hinzugefügt werden. Alle neuen Artikel werden mit dem vorherigen beigefügt. Um die Integrität zu halten, werden die doppelten Elemente entfernt. Zum Beispiel, wenn ein Hashset einfach Elemente hinzugefügt wird, wenn ein Hashset bereits C -Sharp hat, aber wir den Artikel C Sharp erneut hinzufügen, wird dies zu den aktuellen Elementen hinzugefügt. Durch die Verwendung des Gewerkschaftsbetriebs wird jedoch die Duplizität entfernt. Wenn ein Artikel hinzugefügt werden soll, wenn es bereits vorhanden ist, wird es ein einziges Mal angezeigt. Das ist Gewerkschaft. Dies wird in einem Beispiel ausgearbeitet.

Zuerst werden wir ein Hashset erstellen und dann ein paar Elemente hinzufügen. Erstellen Sie danach erneut ein weiteres Hashset durch eine Hashset -Klasse und fügen Sie dann ein Element über add () -Funktion hinzu. Das Hinzufügen von Elementen sollte so befolgt werden. Jetzt enthält beide Hashset alle Elemente getrennt. Wir werden sie durch eine bestimmte Funktion verbinden.

Jetzt werden wir eine Uniowith () -Methode anwenden, damit wir die kopierten Elemente entfernen können, die zum Zeitpunkt der Vereinigung zweimal im Hashset auftreten. Diese Funktion wird durch das Objekt des ersten Hashsets aufgerufen, und dann nimmt der Parameter das Objekt des zweiten Hashsets an.

# Myhash1.Unionwith (myhash2);

Durch die Verwendung sind alle Elemente im ersten Hashset vorhanden. Dann drucken wir die Werte vom ersten Hashset aus.

# Kreuzung ()

Im Gegensatz zu Unionwith () gibt es einen anderen Operator, mit dem die Gegenstände kopiert werden. Mit anderen Worten, diese Elemente aus dem Hashset werden ausgewählt, die zweimal im Hashset erscheinen. Um dies zu implementieren, folgen wir dem gleichen oben genannten Beispiel. Wir werden zwei Hashsets erstellen und ihnen dann Werte hinzufügen. Danach werden wir die Kreuzungsfunktion anwenden, indem wir die Objekte von Hashsets verwenden.

# Myhash1.Schnittpunkt (myhash2);

Aus den Ergebnissen können Sie sehen, dass nur zwei Werte ähnlich waren.

Abschluss

Hashsets können mit zwei Ansätzen erstellt werden. Einer stammt aus der Hashset -Klasse, die in der Header -Dateibibliothek definiert ist. Und der zweite ist durch den Sammelinitializer. Beide verwenden verschiedene Methoden, um Elemente in Hashsets hinzuzufügen. Wir können auch Elemente ändern, sobald sie in Hashsets eingegeben wurden. Durch die Verwendung eines Hashsets ist es einfach, Elemente hinzuzufügen oder zu beseitigen. Hier werden auch zwei grundlegende Operationen erwähnt, die zum Verwalten von Hashset -Elementen verwendet werden. Wir haben alle diese Funktionen von Hashsets durch elementare Beispiele erklärt, die im Ubuntu -Betriebssystem implementiert sind.