Différence entre l'ensemble et la liste

Différence entre l'ensemble et la liste

Différence entre la liste des tableaux et la liste liée

Avant d'entrer dans les différences réelles, apprenons à savoir ce qu'ils sont vraiment?

Qu'est-ce qu'un ensemble?

Nous avons rencontré le concept de set en mathématiques et l'ensemble ici signifie plus ou moins. Oui, c'est une collection d'éléments et dans la plupart des cas, une collection d'éléments similaires. Vous pouvez essayer d'ajouter ces éléments à un ensemble et essayer d'imprimer pour comprendre comment il est réellement stocké.

Entrée dans un ensemble: 20, 50, 10, 30.

Il est en fait stocké dans un ensemble comme 10, 20, 30, 50.

Les éléments sont triés ici et ne sont pas stockés dans leur ordre d'insertion. C'est l'une des fonctionnalités de Set qu'il trie toujours les éléments avant le stockage et bien sûr, il y a des exceptions et l'un est le liendhashset car il maintient l'ordre d'insertion des éléments.

En termes informatiques, l'ensemble comprend quelques propriétés supplémentaires telles que les méthodes et l'héritage. Les méthodes sont comme des fonctions et ils effectuent certaines tâches telles que l'ajout, la suppression ou l'itération de l'ensemble des éléments. La plupart d'entre nous sont bien connus du terme héritage et cela signifie la même chose ici. Oui, nous pouvons hériter d'une méthode de sa collection, afin qu'elle puisse être utilisée avec l'interface définie. Encore une fois, nous parlons d'un nouveau terme je.e. l'interface définie, et ce n'est rien de plus que l'ensemble des éléments, y compris les méthodes.

Comment l'implémenter?

Juste pour une meilleure compréhension, nous avons représenté un ensemble avec sa syntaxe. À partir de la syntaxe ci-dessous, vous pouvez identifier les différents types d'ensembles tels que le hashset et l'arbre.

Importer Java.user.*

classe publique setExample

public static void main (String args [])

int count [] = 34, 22,10,60,30,22 25, 17, 76, 12, 88, 57;

Set set = new HashSet ();

essayer

pour (int i = 0; i < 5; i++)

ensemble.ajouter (compter [i]);

Système.dehors.println (set);

Treeset tridseg = new Treeset (set);

Système.dehors.println («Ici, nous avons la sortie triée:»);

Système.dehors.println (trisedSet);

Système.dehors.println («Regardez le premier élément:« + (entier) tri.d'abord());

Système.dehors.println («Regardez le dernier élément:« + (entier) tridset.dernier());

catch (exception e)

La sortie du code ci-dessus est la suivante.

[25, 17, 76, 12, 88]
Ici, nous avons la sortie triée:
[12, 17, 25, 76, 88]
Regardez le premier élément: 12
Regardez le dernier élément: 88

Qu'est-ce que la liste?

Une liste étend la collection similaire à la façon dont un ensemble a fait, mais il maintient l'ordre d'insertion. Vous essayez d'ajouter les noms suivants à une liste et voyez comment y est ajouté.

L'entrée dans une liste: John, Nancy, Mary, Alice.

Comment il est stocké dans une liste: John, Nancy, Mary, Alice.

Remarquez simplement l'ordre dans lequel ils sont insérés.  Vous pouvez identifier que «John» étant le premier élément de l'entrée ainsi que de la sortie et est suivi du même ordre dans lequel les noms sont insérés. Nous pouvons même considérer cela l'une des principales propriétés de la liste.

Comment l'implémenter?

Examinons quelques-unes des méthodes de liste telles que ArrayList et LinkedList dans la syntaxe ci-dessous.

Importer Java.user.*
classe publique Collections d'échantillon

public static void main (String [] args)

List a1 = new ArrayList ();
A1.Ajouter («John»);
A1.Ajouter («Nancy»);
A1.Ajouter («Mary»);
A1.Ajouter («Alice»);
Système.dehors.println ("ArrayList Elements Are");
Système.dehors.print («\ t» + a1);

List l1 = new LinkedList ();
L1.Ajouter («Silvia»);
L1.ajouter («arjun»);
L1.Ajouter («Deepika»);
L1.Ajouter («Susan»);
Système.dehors.println ();
Système.dehors.println ("LinkedList Elements Are");
Système.dehors.print («\ t» + l1);

La sortie de la syntaxe ci-dessus est la suivante.

Les éléments ArrayList sont

[John, Nancy, Mary, Alice]

Éléments liés

[Silvia, Arjun, Deepika, Susan]

Il est très clair d'après le code ci-dessus que la liste Array et la LinkedList conservent l'ordre d'insertion.

Comment ils diffèrent?

  • Méthodes et descriptions:

L'ensemble et la liste ont ses propres méthodes et nous regardons quelques-unes ici.

S.Non Set - Méthodes Liste - Méthodes
1. ajouter() - C'est pour ajouter des objets à une collection. void add (int index, objet obj) - Il ajoute l'objet «obj» à l'index spécifié de la liste des invoquer et il s'assure qu'aucun élément n'est écrasé en décalant les éléments précédents.
2. clair() - C'est pour supprimer les objets d'une collection. booléen addall (int index, collection c) - Il ajoute l'intégralité de la collection «C» à la liste des invocations et au «index» spécifié. Il garantit également qu'aucun éléments n'est écrasé. Nous pouvons également vérifier l'exactitude de son fonctionnement en examinant la valeur de retour. Il renvoie «vrai» si le changement est réussi autrement, il renvoie une valeur «false».
3. contient() - C'est pour vérifier si l'ensemble contient un certain objet dedans. Il renvoie une valeur «vrai» si l'objet est présent dans l'ensemble. Objet get (int index) - Il renvoie l'élément ou l'objet à l'index spécifié.
4. est vide() - C'est pour déterminer si la collection aide à aucun éléments. Il renvoie une valeur «vrai» s'il n'y a pas d'élément. int lastIndexof (objet obj) - Il fonctionne similaire à l'inverse du Indice de() Méthode. Il renvoie la dernière occurrence de l'objet spécifié «obj» et une valeur «1» est renvoyée s'il n'y a pas d'objet de ce type dans la liste. Par conséquent, il peut également être utilisé comme contient() Méthode de l'interface définie.
6. retirer() - Il s'agit de supprimer un élément d'une collection en le spécifiant comme paramètre à la méthode. ListeTiterator ListIterator () - Il renvoie un itérateur à l'index de départ de la liste.
7. taille() - C'est compter le nombre d'objets ou d'éléments d'une collection. ListeTiterator ListIterator (INT INDEX) - Il aide à itérer dans la liste des invocations à partir de «l'index» spécifié.
8. - Object Suppor (INT INDEX) - Il supprime l'objet à «l'index» spécifié et renvoie l'élément supprimé en résultat. Il diminue également les indices de liste résultants pour refléter la suppression.
9. - Set d'objet (int index, objet obj) - Il s'agit d'attribuer l'objet «obj» à la liste des invocations à «l'index» spécifié.
dix. - Liste de sublist (int start, int fin) - Il s'agit d'inclure les objets de l'index «Démarrer» vers l'index «fin» dans la liste qui a invoqué la méthode.
  • Maintenance des commandes d'insertion:

L'ensemble ne maintient jamais l'ordre des éléments dans lesquels ils sont insérés dans celle-ci alors que la liste le maintient. Il existe une exception à cette règle pour LinkedHashset car elle maintient l'ordre d'insertion, mais l'autre ensemble tel que Hashset et Treeset trie les éléments avant de le stocker. La même chose est décrite avec des exemples ci-dessous.

Ensemble Entrée: chat, poupée, pomme.

Stocké comme: pomme, chat, poupée.

Liste des entrées: chat, poupée, pomme.

Stocké comme: chat, poupée, pomme.

  • La présence de doublons:

Un ensemble n'autorise jamais les doublons alors qu'une liste le permet. Si une valeur en double doit être ajoutée à une liste, elle est remplacée. Regardez les échantillons pour les doublons de set et de liste.

Définir l'entrée: 10, 20, 20, 50.

Stocké comme: 10, 20, 50.

Entrée de liste: 10, 20, 20, 50.

Stocké comme: 10, 20, 20, 50.

  • Valeurs nulles:

Un ensemble ne peut avoir qu'une seule valeur nulle alors qu'une liste peut avoir plus d'une valeur nulle et ne se limite à aucun nombre.

Définir l'entrée: null, null, homme, chien, avion.

Stocké comme: nul, chien, homme, avion.

Entrée de liste: null, null, homme, chien, avion.

Stocké comme: nul, nul, homme, chien, avion.

  • Utilisation d'Iterator & ListIterator:

La méthode Iterator fonctionne bien avec Set et List tandis que le ListIterator de méthode ne fonctionne qu'avec la liste. Le listIterator peut être utilisé pour traverser vers l'avant ainsi qu'en arrière via la liste.

  • La présence de la classe héritée:

L'ensemble n'a pas de classe héritée alors que l'interface de liste a un héritage appelé «vecteur».  Un vecteur utilise l'interface de liste et maintient donc l'ordre d'insertion. En raison des efforts de synchronisation, les performances du vecteur en plus, des suppressions et des mises à jour sont peu plus lentes.

  • Implémentations:

Peu des implémentations SET sont HashSet, LinkedHashset et Treeset. Peu des implémentations de la liste incluent ArrayList et LinkedList.

Quand utiliser le set et la liste?

L'utilisation de l'ensemble et de la liste dépend uniquement de l'exigence de maintenance de l'ordre d'insertion. Comme nous avons appris qu'un ensemble ne maintient jamais l'ordre d'insertion, il peut être utilisé lorsque l'ordre est de moindre importance. De la même manière, utilisez la liste lorsque vous devez également maintenir la séquence d'insertion.

Différences dans une forme tabulaire:

S.Non Les différences dans Ensemble Liste
1. Ordre d'insertion Il maintient l'ordre d'insertion. Le premier reste inséré en premier lieu et ainsi de suite quelle que soit sa valeur. Il ne maintient jamais l'ordre d'insertion.
2. Méthodes Il utilise les méthodes telles que add (), clear (), contient (), isEmpty (), relève () et size (). Il utilise les méthodes telles que add (), addall (), get (), lastIndexof (), listIterator () avec ou sans paramètre, retirer (), set () et sublist ().
3. Doublure Il n'autorise jamais les doublons et dans le cas de ces apparences, la valeur est écrasée. Il permet des doublons.
4. Valeurs nulles Il ne peut avoir qu'une seule valeur nulle au maximum. Il peut avoir n'importe quel nombre de valeurs nulles.
5. Utilisation d'Iterator () & ListIterator () Il utilise uniquement le méthode iterator (). Il utilise à la fois l'itérateur () ainsi que le listerator ().
6. Présence de la classe héritée Il n'y a pas de cours d'héritage. Il a une classe héritée appelée vectorielle.
7. Implémentations Peu des implémentations d'interface set sont HashSet, LinkedHashset et Tree Set. Peu d'implémentations d'interface de liste sont LinkedList et ArrayList.

Hope, nous avons inclus toutes les différences possibles entre l'ensemble et la liste. Si vous sentez que nous avons manqué quelque chose, veuillez nous le faire savoir.