Las colecciones son útiles para almacenar datos. En una matriz normal, el tamaño de la matriz es fijo. A veces se requiere crear matrices que puedan crecer según sea necesario. Lenguajes de programación como Java tiene colecciones. Es un marco con un conjunto de clases e interfaces. Sirve como contenedor para un grupo de elementos. Las colecciones permiten almacenar, actualizar, recuperar un conjunto de elementos. Ayuda a trabajar con estructuras de datos como listas, conjuntos, árboles y mapas. La lista es una interfaz del marco de colección. ArrayList y LinkedList son dos clases en el marco de colecciones . Implementan la interfaz de recopilación y la interfaz de la lista. Este artículo analiza la diferencia entre ArrayList y LinkedList. ArrayList es una clase que extiende la lista abstracta e implementa la interfaz de la lista, que utiliza internamente una matriz dinámica para almacenar elementos de datos. LinkedList es una clase que extiende las interfaces de lista de implementos e implementos abstractos, que usan interfaces, que usan internamente una lista doblemente vinculada para almacenar elementos de datos. Eso es el diferencia clave entre ArrayList y LinkedList.
1. Descripción general y diferencia de claves
2. ¿Qué es ArrayList?
3. ¿Qué es Linkedlist?
4. Similitudes entre ArrayList y LinkedList
5. Comparación de lado a lado - ArrayList vs LinkedList en forma tabular
6. Resumen
La clase ArrayList se usa para crear matrices dinámicas. A diferencia de una matriz normal, el tamaño de una matriz dinámica no es fija. Un objeto creado con la clase ArrayList puede almacenar un conjunto de elementos en la lista. La capacidad aumenta automáticamente, por lo que el programador puede agregar elementos a la lista. La clase ArrayList extiende la clase AbstractList que implementa la interfaz de la lista. Por lo tanto, los métodos de la interfaz de la lista pueden ser utilizados por ArrayList. Para acceder a elementos, se utiliza el método get (). El método add () se puede usar para agregar elementos a la lista. El método remove () se usa para eliminar un elemento de la lista. Consulte el siguiente programa.
Figura 01: Ejemplo de ArrayList
Según el programa anterior, se crea un objeto de ArrayList. Usando el método Agregar, los elementos se pueden agregar dinámicamente. Los elementos "A", "B", "C", "D" y "E" se agregan utilizando el método ADD. El método eliminar se utiliza para eliminar un elemento de la lista. Al pasar 4 al método de eliminación, la letra en el cuarto índice que es "e" se elimina de la lista. Al iterando a través de la lista usando el bucle for, las letras A, B, C y D se imprimirán.
Similar a ArrayList, LinkedList se usa para almacenar elementos de datos dinámicamente. Un objeto creado usando la clase LinkedList puede almacenar un conjunto de elementos en la lista. La capacidad aumenta automáticamente, por lo que el programador puede agregar elementos a la lista. Utiliza internamente una lista doblemente vinculada para almacenar datos. En una lista doblemente vinculada, los datos se almacenan como nodos. Cada nodo contiene dos enlaces. El primer enlace apunta al nodo anterior. El siguiente enlace apunta al siguiente nodo en la secuencia.
La clase LinkedList extiende la clase AbstractSequealialList e implementa la interfaz de la lista. Por lo tanto, los métodos de interfaz de lista pueden ser utilizados por LinkedList. El método get () se puede usar para acceder a elementos de la lista. El método add () se puede usar para agregar elementos a la lista. El método remove () se usa para eliminar un elemento de la lista. Consulte el siguiente programa.
Figura 02: Ejemplo con LinkedList
Según el programa anterior, se crea un objeto de LinkedList. Usando el método Agregar, los elementos se pueden agregar dinámicamente. Los elementos "A", "B", "C", "D" y "E" se agregan utilizando el método ADD. El método eliminar se utiliza para eliminar un elemento de la lista. Al pasar 4 al método de eliminación, la letra en el cuarto índice que es "e" se elimina de la lista. Al iterando usando el bucle for, las letras A, B, C y D se imprimirán.
ArrayList vs LinkedList | |
ArrayList es una clase que extiende la lista abstracta e implementa la interfaz de la lista que utiliza internamente una matriz dinámica para almacenar elementos de datos. | LinkedList es una clase que extiende la Lista de Lists de SubscOutentials e Interfaces de implementos, que utiliza internamente una lista doblemente vinculada para almacenar elementos de datos. |
Acceso a elementos | |
Acceder a elementos de ArrayList es más rápido que de una lista de enlaces. | Acceder a elementos de LinkedList es más lento que de una lista de matrices. |
Manipulación de elementos | |
Manipular elementos de ArrayList es más lento que de una lista de enlaces. | Manipular elementos de LinkedList es más rápido que una lista de matrices. |
Comportamiento | |
ArrayList se desempeña como una lista. | LinkedList se desempeña como una lista y una cola. |
El marco de recopilación permite trabajar con estructuras de datos como listas, árboles, mapas y conjuntos. La lista es una interfaz del marco de colección. Este artículo discutió la diferencia entre ArrayList y LinkedList. ArrayList es una clase que extiende la lista abstracta e implementa la interfaz de la lista que usa internamente una matriz dinámica para almacenar elementos de datos. LinkedList es una clase que extiende la Lista de Lists de SubscOutentials e Interfaces de implementos, que utiliza internamente una lista doblemente vinculada para almacenar elementos de datos. Esa es la diferencia entre ArrayList y LinkedList.
1.Introducción a la lista vinculada | Tutorial de estructura de datos | StudyTonight. Disponible aquí
2."LinkedList en Java - Javatpoint.", El punto, disponible aquí
3."Java ArrayList Clase - Javatpoint."El punto, disponible aquí