DifClases

Páginas: 2 (265 palabras) Publicado: 16 de mayo de 2013
Diferencias entre clases ArrayList, LinkedList y Vector:
LinkedList, ArrayList y Vector son todas diferentes implementaciones de la interfaz List. 
Lo primeroa señalar es que las clases ArrayList y Vector son casi idénticas, con la diferencia de que Vector está SINCRONIZADO, lo que lo hace más seguro a la hora deimplementar subprocesos. Sin embargo, esto lo hace más lento, por lo que normalmente se usa la clase ArrayList y la sincronización se hace de manera explícita.
Lasdiferencias entre LinkedList y ArrayList (o vector) sí son más profundas.
En estas dos clases, los diferentes métodos tienen diferentes tiempos de ejecuciónalgorítmica.
Para LinkedList
get es O (n)
add es O (1)
remove es O (n)
Iterator.remove es O (1)
Para ArrayList
get es O (1)
add es O (1) amortizado, pero O (n) en elpeor de los casos ya que la matriz debe ser redimensionado y copiado.
remove es O (n)
Por ejemplo, LinkedList tomar un elemento en algún lugar de la lista tomaun tiempo considerable, dependiendo del tamaño de la lista, ya que no se manejan índices de las posiciones.
ArrayLists, por otra parte, permiten el accesoaleatorio, para que pueda tomar cualquier elemento en tiempo. 
Iteración sobre cualquier tipo de lista es prácticamente igual de barato. 
Otra diferencia es el uso dememoria, cada elemento de una LinkedList tiene más peso porque los punteros de siguiente (e incluso de anterior) también se guardan. Si bien ArrayList no tiene esteproblema, toma tanto espacio de memoria como se le haya asignado al declararlo, sin tomar en cuenta si los elementos se han añadido verdaderamente.
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS