HashSet, TreeSet y LinkedHashSet

4946 vistas

El API propone tres implementaciones concretas para los conjuntos (java.util.Set). Un conjunto es un grupo de elementos únicos.

java.util.HashSet:
El java.util.HashSet es la implementación más útil.
Nota: El orden de iteraciones de los elementos es aleatorio.
Complejidad: Las operaciones add, remove, contains y size se ejecutan en un tiempo fijo.

java.util.TreeSet:
El java.util.TreeSet contiene un conjunto de elementos ordenados (también implementa la interfaz java.util.SortedSet). Los elementos se ordenan en función de su orden natural (ver java.util.Comparable), o en función de un java.util.Comparator especificado en la construcción del TreeSet.
Complejidad: las operaciones add, remove, contains y size se ejecutan en un tiempo log(n).

java.util.LinkedHashSet:
El java.util.LinkedHashSet es idéntico al HashSet salvo que éste conserva el orden de inserción de los elementos en una lista doblemente encadenada.
Nota: El orden de iteración de los elementos corresponde al orden de inserción.
Complejidad: Las operaciones add, remove, contains y size s ejecutan en un tiempo constante (pero superior al tiempo de HashSet).