Y a-t-il une différence entre une collection triée et une collection ordonnée ?
java
collections
Johanna
la source
la source
IOrderedEnumerable
(chose drôle est son pas très cohérent dans .NET. Un « ordre d'insertion » dictionnaire respectin dans .NET est appeléOrderedDictionary
que certains croient est un abus de langage par rapport à dire,IndexedDictionary
) . Oui dans le monde Java (surtout ailleurs aussi), ils signifient ce que vous avez dans les réponses. Pour en savoir plus, cliquez ici .Réponses:
Une collection ordonnée signifie que les éléments de la collection ont un ordre spécifique. La commande est indépendante de la valeur. Une liste est un exemple.
Une collection triée signifie que non seulement la collection a de l'ordre, mais que l'ordre dépend de la valeur de l'élément. Un SortedSet est un exemple.
En revanche, une collection sans aucun ordre peut maintenir les éléments dans n'importe quel ordre. Un ensemble est un exemple.
la source
Une collection ordonnée maintient l'ordre des éléments en fonction de la séquence dans laquelle vous placez des éléments / supprimez-les de la collection.
Une collection triée conserve les éléments triés en fonction d'un critère de tri.
la source
Java utilise «collection ordonnée» pour désigner une collection telle que List, où (contrairement à HashSet), la collection se souvient dans quel ordre les éléments sont censés être. Ainsi, les éléments peuvent être ajoutés à la collection à un «endroit» particulier dans l'ordre .
Java utilise «collection triée» pour désigner une collection telle que SortedSet, où (contrairement à List), l'ordre dans lequel l'itérateur traverse la collection est conforme à un comparateur spécifié ou à l'ordre naturel des éléments.
Donc, la différence est de savoir si l'ordre dépend des valeurs ("trié") ou est une propriété que les éléments ont indépendamment de leur valeur ("ordonné").
la source
OrderedDict
en python. Mais dans .NET, l'interface pour les énumérables "triés" est appeléeIOrderedEnumerable
. Cela dépend donc. Juste en disant ..Oui, bien que les concepts soient similaires.
List
est une collection ordonnée: chaque élément a un index, qui forme un ordre des éléments, mais qui n'est généralement lié à aucune propriété des éléments eux-mêmes.SortedMap
etSortedSet
sont des collections triées, ce qui signifie que l'itération dans la collection se produira dans une séquence dérivée des éléments eux-mêmes. Par exemple, si vous avez un,SortedSet<String>
les chaînes seront triées selon l'ordre de tri lexicographique.Une Collection ordonnée peut être triée mais n'a pas à l'être (par exemple après utilisation
Collections.sort()
) lorsque l'ordre externe est identique à l'ordre de tri des éléments. Une collection triée est toujours implicitement ordonnée (c'est-à-dire qu'il y a toujours un "premier" élément, et c'est toujours le même tant que vous n'en ajoutez pas un autre, plus petit).la source
Une collection ordonnée est une collection qui garde la trace d'un index consécutif dans lequel chaque élément est inséré.
Une collection triée est une collection ordonnée lorsque l'ordre dépend en outre de la valeur de l'élément à insérer, tout au long de l'utilisation de l'interface Comparable qui vous fournit une méthode pour définir les critères de tri.
J'espère que cela pourrait aider.
la source
Trié impliquerait un classement selon une implémentation de Comparable ou Comparator. Ordonné impliquerait qu'il suit l'ordre d'insertion ou une autre définition d'ordre cohérente et définie, mais autrement arbitraire.
Ainsi, une liste triée de chaînes serait triée selon la méthode String.compareTo. Une liste peut contenir une liste de chaînes insérées dans un ordre arbitraire, mais cet ordre restera toujours le même.
Bien sûr, il existe des méthodes dans la classe Collections pour trier une liste.
la source
Une collection triée signifie généralement que les éléments sont triés de la valeur minimun à la valeur maxinum ou vice versa en fonction du ou des attributs des éléments sur lesquels les algorithmes fonctionnent.
pour une collection entière, le tri peut être du nombre minimum au nombre maximum pour une collection personne, il peut être altéré par la taille des personnes ou le poids des personnes, etc.
Quand on parle d'ordre, cela signifie généralement l'ordre d'insertion. L'ordre peut être modifié après le tri
la source
Collection triée vs collection ordonnée
1. Collection triée
Une collection triée trie une collection en utilisant les fonctionnalités de tri fournies par le framework de collections Java. Le tri se produit dans la mémoire de la JVM qui exécute Hibernate, après la lecture des données depuis la base de données à l'aide du comparateur java.
Si votre collection n'est pas volumineuse, ce sera un moyen plus efficace de la trier. Comme cela se produit dans la mémoire jvm, cela peut générer une erreur de mémoire insuffisante.
2. Collecte des commandes
Order collection trie une collection en spécifiant la clause order-by dans la requête pour trier cette collection lors de la récupération. Si votre collection est très volumineuse, ce sera un moyen plus efficace de la trier. C'est rapide par rapport à la collecte triée.
la source