167 votes

Collection triée en Java

Je suis un débutant en Java. Veuillez me suggérer quelle(s) collection(s) peut/doivent être utilisée(s) pour maintenir une liste triée en Java. J'ai essayé Map et Set mais ce n'était pas ce que je recherchais.

1voto

Jakub Zaverka Points 5909

Ce que vous voulez, c'est un arbre de recherche binaire. Il maintient l'ordre trié tout en offrant un accès logarithmique pour les recherches, les suppressions et les insertions (sauf si vous avez un arbre dégénéré - dans ce cas, c'est linéaire). Il est assez facile à mettre en œuvre et vous pouvez même lui faire implémenter l'interface List, mais l'accès à l'index devient alors compliqué.

La deuxième approche consiste à utiliser une liste de tableaux et à mettre en œuvre un tri à bulles. Comme vous insérez ou supprimez un élément à la fois, les temps d'accès pour les insertions et les suppressions sont linéaires. Les recherches sont logarithmiques et l'accès à l'index est constant (les temps peuvent être différents pour les LinkedList). Le seul code dont vous avez besoin est 5, peut-être 6 lignes de tri à bulles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X