C # Hashset

C # Hashset
W C Sharp Hashset to pojemnik, który jest zbiorem przedmiotów, które nie są obecne w formie zamówienia. Ten hashset jest używany, gdy nie chcemy mieć zduplikowanych danych. Hashsets działają jak listy, ale ich wydajność jest lepsza niż listy. Hashset może przechowywać tylko ten sam rodzaj przedmiotów. Jest to kolekcja dynamiczna, rozmiar skrótu wzrasta, gdy dodajemy do niej więcej elementów. Ten artykuł będzie zawierał tworzenie i dodanie elementów do skrótu.

Przykład 1

Aby uruchomić program dla skrótu w C Sharp, użyjemy dwóch bibliotek w kodzie źródłowym. Jeden to system, a drugi to system.kolekcje. Ogólne, te oba pliki nagłówka odgrywają ważną rolę w korzystaniu z klas i wbudowanych funkcji w programie.

Za pomocą systemu;
Za pomocą systemu.Kolekcje.Ogólny;

Metoda 1:

W klasie program deklarowany jest główny program. Aby utworzyć hashset, używamy klasy Hashset, która jest obecna w bibliotece kolekcji. Nowy hashset jest tworzony przy użyciu nowego słowa kluczowego, ponieważ bierze udział w dynamicznym tworzeniu hashset. Hashset jest zmienną ciągną, ponieważ zawiera wszystkie typy symboli, wartości alfanumeryczne itp. Po słowie kluczowym hashset zdefiniowana jest nazwa hashsetu.

# Hashset myhash1 = nowy hashset ();

Po utworzeniu hashetu zaczniemy teraz dodawać elementy do skrótu jeden po drugim. Ten dodatek odbywa się ręcznie. Główną wbudowaną funkcją używaną do wprowadzania wartości jest funkcja „add ()” C #. Ta funkcja jest nazywana nazwą nowego hashetu, który działa jako obiekt. Wartość, którą należy wprowadzić w skrócie, jest używana jako argument w parametrze funkcji Add.

# Myhash1.Dodaj („C”);

Wprowadziliśmy 5 wartości do skrótu za pomocą tego samego add (). Funkcja Dodaj działa jak funkcja łańcucha append (), która wciąż dodaje wartości na końcu ciągu. Po dodaniu wartości wyświetlimy je. Aby uzyskać dostęp do elementów w skrócie, użyjemy pętli Foreach. Ta pętla będzie się iterować do ostatniego elementu hashetu.

Metoda 2:

Innym sposobem utworzenia skrótu jest jego utworzenie za pomocą inicjalizatora kolekcji, który inicjuje hashset. Różni się to od metody 1, ponieważ musimy użyć funkcji add () do dodawania elementów. Ale korzystając z tego inicjalizatora, możemy dodawać wartości w momencie deklarowania i tworzenia hashetu.

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

Tutaj hashset jest typu danych liczb całkowitych. 5 Wartości całkowite są wprowadzane do funkcji, gdy tworzenie zostało wykonane dynamicznie.

Aby wyświetlić elementy w tym skrócie, ponownie używamy pętli foreach, aby mógł uzyskać dostęp do ostatniego elementu skrót.

Zapisz kod, a zostanie to wykonane w terminalu przez kompilator MCS i mono używane do wykonania.

Plik $ MCS.Cs
$ plik mono.exe

Możesz to zobaczyć za pomocą pętli foreach, wyświetlany jest każda pozycja hashset.

Przykład 2

Po dodaniu elementów te elementy i skrót można zmodyfikować, usuwając je lub dodając nowe elementy w skrócie. Teraz napiszemy prosty program do usuwania elementów z hashset.

Przede wszystkim ponownie utworzymy nowy hashset, podobnie jak wcześniej za pomocą klasy Hashset i za pomocą metody add () wszystkie elementy zostaną dodane.

Przed usunięciem dowolnego elementu chcielibyśmy wyświetlić liczbę elementów już obecnych w skrócie. Odbędzie się to za pomocą funkcji kontratakowej. Ta funkcja Count () zostanie wywołana przez obiekt hashset.

# Myhash.liczyć ();

Po tym, jak wszystkie elementy zostaną wyświetlone raz, teraz usuniemy element z hashset za pomocą funkcji Usuń.

# Myhash.Usuń („Ruby”);

W parametrze funkcji Usuń przekazujemy element, który chcemy usunąć. Po usunięciu ponownie funkcja zliczania zliczy elementy pozostawione po usunięciu elementu. Podobnie, możemy usunąć więcej elementów. Ale jeśli ktoś chce opróżnić cały hashset, odbywa się to za pomocą funkcji Clear (). Służy to do usunięcia wszystkich elementów z skrótu. Nazywa się to również obiektem hashset.

# Myhash.jasne();

Następnie sprawdzimy, czy hashset jest pusty, czy nie, zliczając elementy za pomocą funkcji Count ().

Przykład 3

Obecnie pracując nad ustalonymi operacją, klasa Hashset zawiera niektóre metody stosowane do zastosowania niektórych operacji na hashset. Jednym z nich jest związek z. Ta operacja służy do modyfikowania bieżącego skrótu poprzez dodanie do niej zupełnie nowych elementów. Wszystkie nowe elementy są dołączane do poprzedniego. Ale aby zachować integralność, zduplikowane elementy są usuwane. Na przykład, dodając elementy po prostu do skrótu, jeśli skrót ma już C ostre, ale ponownie dodajemy pozycję C ostre, wówczas zostanie to dodane do bieżących elementów. Ale stosując działalność związkową, dwójka jest usuwana; Jeśli element ma zostać dodany, jeśli już istnieje, pojawi się on jeden czas; To jest związek. Jest to opracowane w przykładzie.

Najpierw utworzymy hashset, a następnie dodamy do niego kilka elementów. Następnie ponownie utwórz kolejny hashset za pośrednictwem klasy Hashset, a następnie dodaj do niego element za pomocą funkcji Add (). Dodawanie elementów powinno być obserwowane w taki sposób, że niektóre elementy powinny być takie same, jak weszliśmy do skrót. Teraz oba hashset zawiera wszystkie elementy osobno. Dołączymy do nich poprzez określoną funkcję.

Teraz zastosujemy metodę uniowith (), abyśmy mogli usunąć skopiowane elementy, które występują dwukrotnie w skrócie w czasie związku. Ta funkcja jest wywoływana przez obiekt pierwszego hashetu, a następnie parametr przyjmie obiekt drugiego hashetu.

# Myhash1.Unionwith (Myhash2);

Korzystając z niego, wszystkie elementy są obecne w pierwszym skrócie. Następnie wydrukujemy wartości z pierwszego hashetu.

# Intersectwith ()

W przeciwieństwie do Unionwith (), istnieje inny operator, który służy do uzyskania kopiowanych elementów. Innymi słowy, wybrane są te elementy z skrótu, które pojawiają się dwa razy w skrócie. Aby to wdrożyć, będziemy postępować zgodnie z tym samym powyższym przykładem; Utworzymy dwa hashsety, a następnie dodamy do nich wartości. Następnie zastosujemy funkcję Intersect za pomocą obiektów hashsetów.

# Myhash1.Intersectwith (myhash2);

Z wyników widać, że tylko dwie wartości były podobne.

Wniosek

Hashsets można stworzyć za pomocą dwóch podejść. Jeden pochodzi z klasy hashset, która jest zdefiniowana w bibliotece plików nagłówka. A drugi jest za pośrednictwem inicjalizatora kolekcji. Oba używają różnych metodologii do dodawania elementów w skrócie. Możemy również modyfikować elementy po wprowadzeniu do hashsetów. Korzystając z hashset, łatwo jest dodać lub wyeliminować dowolny element. Wspomniane są również dwie podstawowe operacje, które są używane do zarządzania elementami hashset. Wyjaśniliśmy wszystkie te cechy hashsetów za pomocą podstawowych przykładów zaimplementowanych w systemie operacyjnym Ubuntu.