Linked List

Programación Orientada a Objetos Linked list 6 de Octubre del 2015 ¿Qué es? Son Listas vinculadas o enlazadas Esta c

Views 39 Downloads 0 File size 538KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Programación Orientada a Objetos

Linked list

6 de Octubre del 2015

¿Qué es? Son Listas vinculadas o enlazadas Esta clase es una colección de elementos con una utilidad equivalente a la de Array List pero con una estructura distinta.

La principal diferencia en su modo de guardar los elementos. Array List lo hace en un array mientras que LinkedList lo hace mediante una estructura de objetos encadenados (nodos) por links o instancias

ArrayList: Se puede representar en casillas, donde cada una de ellas es un espacio de memoria destinado a un objeto. LinkedList: Los objetos están unidos por conexiones, cada elemento tiene una conexión al objeto siguiente.

Por ejemplo para la posición 0 (imaginemos que en un ArrayList deseamos insertar en la posición 0 y tenemos muchos elementos, no solo tendremos que realizar la operación de insertar este nuevo elemento en la posición 0 sino que tendremos que desplazar el elemento que teníamos de la posición 0 a la 1, el que estaba anteriormente en la posición 1 a la 2 y así sucesivamente… Si tenemos un gran número de elementos la operación de inserción es más lenta que en la implementación LinkedList, donde el elemento simplemente “se enlaza” al principio, sin necesidad de realizar desplazamientos en cadena de todos los demás elementos).

¿Cómo se declaran y se crean? 1) Importamos java.util.LinkedList; 2) LinkedList nombreLista; 3) nombreLista = new LinkedList ();

Constructores LinkedList() //Construye una lista vacía. LinkedList (Collection < ? extends E> c) //Construye una lista que contiene los elementos de la colección especificada, en el orden en que son devueltos por iterado de la colección.

Algunos métodos… * push(objeto): Se usa para añadir un objeto al final de la lista. * pop(): Elimina el último elemento de la lista. * set (indice, objeto): Se usa para añadir un objeto en la posición del índice. * contains(objeto): Se usa para saber si la lista contiene un objeto determinado. * get(indice): Recupera el elemento que se encuentra en el índice. * isEmpty(): Devuelve true si la lista esta vacía y false si no lo está. * remove (indice): Elimina el elemento que se encuentra en el índice. * size(): Devuelve el tamaño de la lista. * clear(): Borra todos los elementos de la lista.

Ejemplo #1 import java.util.LinkedList; // importamos la clase LinkedList public class EjemploLista { public static void main (String[] args) { LinkedList Lista = new LinkedList(); // creamos la lista

Lista.push("Hola"); // agregamos la cadena "Hola" al final de la lista System.out.println(Lista); // mostramos la lista } }

Conclusiones Que las inserciones en posiciones iniciales o finales son por regla general más rápidas con LinkedList. Igualmente pasaría con las eliminaciones o borrados. Aunque observamos que las búsquedas o las inserciones en posiciones intermedias de una lista con gran número de elementos es más rápida en el caso de ArrayList. Esto es debido a que ésta accede a la posición de manera directa.