Diferencia entre List y ArrayList en Java

Autor: Laura McKinney
Fecha De Creación: 2 Abril 2021
Fecha De Actualización: 13 Mayo 2024
Anonim
Teoria Introduccion a List y ArrayList en JAVA
Video: Teoria Introduccion a List y ArrayList en JAVA

Contenido


List y ArrayList son los miembros del marco de la Colección. Lista es una colección de elementos en una secuencia donde cada elemento es un objeto y se accede a los elementos desde su posición (índice). ArrayList crea una matriz dinámica de objetos que aumenta o reduce su tamaño siempre que sea necesario. La principal diferencia entre List y ArrayList es que Lista es una interfaz y Lista de arreglo es una clase Estudiemos la diferencia entre List y ArrayList con la ayuda del cuadro comparativo que se muestra a continuación.

  1. Cuadro comparativo
  2. Definición
  3. Diferencias clave
  4. Conclusión

Cuadro comparativo

Bases para la comparaciónListaLista de arreglo
BásicoLa lista es una interfazArrayList es una clase de colección estándar.
SintaxisLista de interfazclase ArrayList
Extender / ImplementarLa interfaz de lista amplía el Marco de recopilación.ArrayList extiende AbstractList e implementa la interfaz de lista.
Espacio de nombresSistema.Colecciones.Generico.Sistema.Colecciones.
TrabajoSe utiliza para crear una lista de elementos (objetos) que están asociados con sus números de índice.ArrayList se usa para crear una matriz dinámica que contiene objetos.


Definición de lista

La lista es un interfaz que extiende el Colección marco de referencia. La interfaz de lista describe la colección de elementos que se ordenan secuencialmente. La interfaz de lista se implementa mediante las siguientes clases de recopilación estándar, como ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. La interfaz de lista tiene elementos asociados con sus números de índice. Puede acceder a un elemento en la lista por su posición (índice) en la lista. Una lista creada usando la interfaz Lista comienza con un índice basado en cero.

Además de los métodos heredados por el marco de Colección, la interfaz de Lista también define algún método propio. Los métodos agregados por la interfaz de Lista son, agregar (int, E) y addAll (int, Collection). Estos métodos agregan un elemento a la lista por su índice. Los métodos dentro de la lista pueden arrojar una excepción como UnsupportedOperationException si el método no puede modificar la lista. Cuando un objeto en una lista es incompatible con otro objeto en la lista, entonces ClassCastException se arroja. No se permiten elementos nulos en la lista si intenta insertar un objeto nulo en la lista, Excepción de puntero nulo es aventado.


Puede obtener un elemento de la lista usando obtener() método. Puede establecer el valor de un elemento en la lista usando conjunto() método. También puede obtener la sublista de la lista utilizando un método sublist (). Se vuelve conveniente operar en la sublista en lugar de una lista.

Definición de ArrayList

Una de las clases de colección estándar es ArrayList, que se extiende AbstractList clase y también implementa el Lista interfaz. La clase ArrayList se usa para crear matrices dinámicas que crecen y se reducen cuando es necesario. La lista creada con la clase ArrayList no es más que la matriz de objetos. En Java, la matriz estándar tiene una longitud fija, por lo tanto, debe conocer el tamaño de la matriz de antemano. Pero es posible que no sepa qué longitud de la matriz necesita hasta el tiempo de ejecución. Por lo tanto, el marco de la Colección introdujo la clase ArrayList para superar este problema.

ArrayList tiene constructores que crean la matriz con su capacidad inicial. Aunque la capacidad del objeto de la clase ArrayList aumenta automáticamente cuando se agregan elementos a la matriz, aún puede aumentar manualmente la capacidad del objeto de ArrayList utilizando el método sureCapacity (). Es mejor aumentar la capacidad de la matriz inicialmente en lugar de reasignar la memoria más tarde. Porque la reasignación es más costosa que asignar la memoria de una vez.

  1. Una de las diferencias más importantes entre List y ArrayList es que list es un interfaz y ArrayList es una colección estándar clase.
  2. La interfaz de lista extiende el Colección framework, mientras que la lista ArrayList se extiende AbstractList Clase e implementa Lista interfaces
  3. El espacio de nombres para la interfaz de Lista es System.Collection.Generic mientras que el espacio de nombres para ArrayList es Sistema.Colección.
  4. La interfaz de lista crea una colección de elementos que se almacena en una secuencia y se identifica o se accede por su número de índice. Por otro lado, ArrayList crea una matriz de objetos donde la matriz puede crecer dinámicamente cuando sea necesario.

Conclusión:

ArrayList supera el problema de una matriz estática en Java estándar, es decir, la matriz no puede crecer en tamaño una vez que se crea. Cuando se crea una matriz con ArrayList, se crea una matriz dinámica que puede aumentar y reducir su tamaño cuando sea necesario. La clase de colección estándar ArrayList extiende la interfaz de la lista.