C # Hashset

C # Hashset
En C Sharp, un hashset est un conteneur qui est une collection d'articles qui ne sont pas présents dans un bon de commande. Ce hashset est utilisé lorsque nous ne voulons pas avoir de données dupliquées. Les hachages fonctionnent comme des listes, mais leurs performances sont meilleures que les listes. Hashset ne peut stocker que le même type d'articles. C'est une collection dynamique, la taille du hashset augmente à mesure que nous y ajoutons plus d'éléments. Cet article contiendra la création et l'ajout d'éléments au hashset.

Exemple 1

Pour démarrer un programme pour le hashset dans C Sharp, nous utiliserons deux bibliothèques dans le code source. L'un est le système et le second est le système.collections. Générique, ces deux fichiers d'en-tête jouent un rôle important dans l'utilisation des classes et des fonctions intégrées du programme.

Utilisation du système;
Utilisation du système.Collections.Générique;

Méthode 1:

À l'intérieur de la classe, le programme principal est déclaré. Pour créer un hashset, nous utilisons une classe de hashset qui est présente dans la bibliothèque de collection. Un nouveau hashset est créé en utilisant un nouveau mot-clé, car il est impliqué dans la création dynamique du hashset. Un hashset est une variable de chaîne, car il contient tous les types de symboles, les valeurs alphanumériques, etc. Après le mot-clé HashSet, le nom du hashset est défini.

# Hashset myhash1 = nouveau hashset ();

Une fois le hashset créé, nous allons maintenant commencer à ajouter des éléments au hashset un après l'autre. Cet ajout est fait manuellement. La fonction intégrée principale utilisée pour saisir les valeurs est la fonction «add ()» de C #. Cette fonction est appelée par le nom d'un nouvel hashset qui agit comme un objet. La valeur qui doit être saisie dans le hashset est utilisée comme argument dans le paramètre de la fonction ADD.

# Myhash1.Ajouter ("c");

Nous avons entré 5 valeurs dans le hashset en utilisant le même Add (). La fonction ADD agit comme une fonction annexée () de la chaîne qui continue d'ajouter les valeurs à la fin de la chaîne. Après avoir ajouté des valeurs, nous les afficherons. Pour accéder aux éléments dans un hashset, nous utiliserons une boucle foreach. Cette boucle iratera jusqu'au dernier élément du hashset.

Méthode 2:

Une autre façon de créer un hashset est de le créer en utilisant un initialiseur de collection qui initialise le hashset. Ceci est différent de la méthode 1, car nous devons utiliser une fonction ADD () pour ajouter des éléments. Mais en utilisant cet initialiseur, nous pouvons ajouter des valeurs au moment de déclarer et de créer le hashset.

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

Ici, le hashset est de type de données entier. 5 valeurs entières sont entrées dans la fonction lorsque la création a été effectuée dynamiquement.

Pour afficher les éléments de ce hashset, nous utilisons à nouveau une boucle foreach afin qu'il puisse accéder au dernier élément du hashset.

Enregistrez le code, et cela sera exécuté dans le terminal via le compilateur MCS et un mono qui est utilisé pour l'exécution.

Fichier $ MCS.CS
$ mono fichier.exe

Vous pouvez voir qu'en utilisant une boucle foreach, chaque élément du hashset s'affiche.

Exemple 2

Après avoir ajouté des éléments, ces éléments et le hashset peuvent être modifiés en les supprimant ou en ajoutant de nouveaux éléments dans le hashset. Nous allons maintenant écrire un programme simple pour supprimer les éléments du hashset.

Donc, tout d'abord, nous créerons à nouveau un nouveau HashSet, comme nous l'avons fait auparavant en utilisant la classe HashSet, et en utilisant la méthode Add (), tous les éléments seront ajoutés.

Avant la suppression de tout élément, nous aimerions afficher le nombre d'éléments déjà présents dans le hashset. Cela se fera via une fonction de comptoir. Cette fonction Count () sera appelée via l'objet HashSet.

# Myhash.compter ();

Une fois tous les éléments affichés une fois, nous supprimerons maintenant l'élément du hashset en utilisant une fonction de suppression.

# Myhash.Retirer ("rubis");

Dans le paramètre de la fonction de suppression, nous passons l'élément que nous voulons supprimer. Après le retrait, encore une fois, la fonction de nombre comptera les éléments laissés après avoir retiré un élément. De même, nous pouvons supprimer plus d'articles. Mais si quelqu'un veut faire vider l'ensemble du hashset, cela se fait en utilisant une fonction clear (). Ceci est utilisé pour éliminer tous les éléments du hashset. Il est également appelé l'objet Hashset.

# Myhash.clair();

Ensuite, nous vérifierons si le hashset est vide ou non en comptant les éléments via la fonction Count ().

Exemple 3

Travaille maintenant sur les opérations définies, la classe HashSet contient certaines méthodes utilisées pour appliquer certaines opérations sur le hashset. L'un d'eux est une union avec. Cette opération est utilisée pour modifier le hashset actuel en y ajoutant de nouveaux éléments. Tous les nouveaux éléments sont annexés avec le précédent. Mais pour maintenir l'intégrité, les éléments en double sont supprimés. Par exemple, tout en ajoutant des éléments simplement à un hashset, si un hashset a déjà C Sharp, mais nous ajoutons à nouveau l'élément C Sharp, alors cela sera ajouté aux éléments actuels. Mais en utilisant l'opération syndicale, la duplicité est supprimée; Si un élément doit être ajouté s'il existe déjà, il apparaîtra une seule fois; c'est un syndicat. Ceci est élaboré dans un exemple.

Tout d'abord, nous créerons un hashset, puis y ajouterons quelques éléments. Après cela, encore une fois, créez un autre hashset via une classe HashSet, puis ajoutez-y un élément via Add (). L'ajout d'articles doit être suivi de telle manière que certains articles devraient être les mêmes que nous avons entré dans le hashset. Maintenant, les deux hashset contient tous les éléments séparément. Nous les rejoindrons via une fonction spécifiée.

Nous allons maintenant appliquer une méthode Uniowith () afin que nous puissions retirer les éléments copiés qui se produisent deux fois dans le HashSet au moment de l'union. Cette fonction est appelée via l'objet du premier hashset, puis le paramètre prendra l'objet du deuxième hashset.

# Myhash1.UnionWith (Myhash2);

En l'utilisant, tous les éléments sont présents dans le premier hashset. Ensuite, nous imprimerons les valeurs du premier hashset.

# IntersectWith ()

Contrairement à UnionWith (), il y a un autre opérateur qui est utilisé pour obtenir les articles qui sont copiés. En d'autres termes, ces éléments du hashset sont sélectionnés qui apparaissent deux fois dans le hashset. Donc, pour implémenter cela, nous suivrons le même exemple ci-dessus; Nous allons créer deux hachages et nous y ajouter des valeurs. Après cela, nous appliquerons la fonction intersecte en utilisant les objets des hachages.

# Myhash1.IntersectWith (myhash2);

D'après les résultats, vous pouvez voir que seules deux valeurs étaient similaires.

Conclusion

Les hachages peuvent être créés en utilisant deux approches. L'un est de la classe HashSet qui est définie dans la bibliothèque de fichiers d'en-tête. Et le second est via l'initialisateur de la collection. Les deux utilisent des méthodologies différentes pour ajouter des éléments dans des hachages. Nous pouvons également modifier des éléments une fois qu'ils sont entrés dans des hachages. En utilisant un hashset, il est facile d'ajouter ou d'éliminer tout élément. Deux opérations de base sont également mentionnées ici qui sont utilisées pour gérer les éléments de hashset. Nous avons expliqué toutes ces caractéristiques des hachages à travers des exemples élémentaires qui sont implémentés dans le système d'exploitation Ubuntu.