Vous êtes sur la page 1sur 2

ArrayList

Se basa en ndices, siendo cero la posicin inicial e infinito su posicin final, o lo que es lo mismo, contiene tantos objetos como necesitemos, almacenando los elementos en un array de objetos. Esta clase tiene varios constructores, siendo la ms importante el ArrayList(), que construye un ArrayList con capacidad cero por defecto pero con infinitos objectos a insertar. Si le queremos dar un tamao empleamos el constructor ArrayList(int numElementos). ArrayList implementa la interfaz List y extiende de la clase abstracta AbstractList.

El ArrayList est pensado para realizar busquedas rapidas de informacin, el LinkedList no permite posicionarse de manera absoluta y por lo tanto no es conveniente para busquedas. LINKEDLIST
Almacena los elementos en una lista vinculada y permiten un acceso a ella de manera secuencial, pero su uso no es tan eficiente como los arrays.

LinkedList est pensado para realizar inserciones y eliminacin de objetos situados al principio de la lista, funciona mucho ms rapido que el ArrayList en inserciones, por ejemplo en la posicion 0, cuando el ArrayList es muy grande. HASHSET
Implementa la inteface Set y est basada en una hash table. Hace distincin de identidad, esto es, que slo pueden existir elementos diferentes (nada de duplicados). No se respeta el orden en el que se insertan los elementos y el tamao del conjunto se adapta dinmicamente a lo que se necesite. HashSet implementa la interfaz Set y extiende de la clase abstracta AbstractSet.

Arboles (TreeSet) La clase TreeSet es similar al hash pero con una mejora aadida. Un rbol es una coleccin ordenada, es decir, los elementos tienen en la coleccin un orden determinado. Cuando se recorra la coleccin, los valores son presentados en el orden correcto. La ordenacin la ejecuta el propio rbol. La implementacin actual usa un rbol rojo-negro (red-black tree). Cada vez que se aade un elemento a un rbol, ste se coloca en su posicin correcta. Por consiguiente, el iterador siempre visita los elementos obteniendo el orden adecuado.

LinkedList
Es una lista enlazada de Recipientes (nodos) donde cada uno contiene elementos (objetos, otras listas, etc) y uno o dos punteros hacia posiciones de memoria que apuntan al anterior o siguiente nodo. til cuando se quiere insertar o eliminar elementos al principio o al final de la lista. No permite acceder a un elemento en concreto de la lista directamente sin recorrer antes los anteriores.

ArrayList
Es una estructura de datos de tipo Array dinmica. A diferencia de los arrays clsicos (arrays estticos), un ArrayList permite aumentar el tamao del vector indefinidamente (hasta lo que la memoria permita) y agregar o quitar elementos. A diferencia de la LinkedList, la ArrayList permite acceder a cualquier elemento de la lista directamente mediante su ndice, lo que la hace especialmente adecuada para bsquedas rpidas.

HashSet
Un HashSet es una estructura de datos que contiene un conjunto de objetos. Permite buscar un objeto dentro del conjunto de forma rpida y fcil. Internamente gestiona un array y guarda los objetos utilizando un ndice calculado con un cdigo hash del objeto. Los elementos de un HashSet no estn ordenados Para aadir un elemento al HashSet se utiliza el mtodo add(Object obj). Para borrar un elemento se utiliza remove(Object obj). Para borrar todos los elementos se utiliza clear(). - El tamao del HashSet se puede obtener con la funcin size()

HashMap
Un HashMap permite guardar elementos, donde cada elemento es un par clave/valor. A diferencia de un array simple donde se guarda el valor en un ndice en concreto, un HashMap determina el ndice l mismo basndose en el valor hash (hashcode) generado a partir de la clave.

TreeSet
Un TreeSet mantiene los objetos ordenados en lo que se conoce como un red-black tree, es decir, en un rbol binario balanceado (cada padre tiene como mximo 2 hijos, y cuando se inserta una entrada se autobalancea de forma que quede un rbol binario simtrico). Un TreeSet permite hacer bsquedas rpidas. No tanto como un HashMap, pero el TreeSet tiene la ventaja de estar ordenado por clave.

Vous aimerez peut-être aussi