Una ArrayList en Java es una redimensionable (o dinámica) de la paquete java.util que puede crecer o reducirse automáticamente a medida que se agregan o eliminan elementos, a diferencia de las matrices normales con un tamaño fijo.
historial de versiones de Android
- Acceso indexado: Se puede acceder a los elementos utilizando su índice al igual que las matrices.
- Permite duplicados: Se permiten elementos duplicados.
- Mantiene el orden de inserción: Los elementos se almacenan en el orden en que se insertan.
- No sincronizado: De forma predeterminada, ArrayList no es seguro para subprocesos (se necesita sincronización manual para el acceso simultáneo).
import java.util.ArrayList; class Main { public static void main (String[] args) { // Creating an ArrayList ArrayList<Integer> a = new ArrayList<Integer>(); // Adding Element in ArrayList a.add(1); a.add(2); a.add(3); // Printing ArrayList System.out.println(a); } }
Producción
[1 2 3]
Jerarquía de ArrayList
implementa Interfaz de lista que es una subinterfaz de Interfaz de colección .
Constructores ArrayList en Java
Java proporciona múltiples constructores para crear una ArrayList según diferentes requisitos:
1. Lista de matrices ()
Crea una ArrayList vacía con capacidad inicial predeterminada.
Lista de matrices
arr = nueva lista de matrices<>();
2. Lista de matrices arr = nueva lista de matrices<>()
Crea una ArrayList inicializada con elementos de la colección especificada.
Lista de matrices
arr = nueva lista de matrices<>(recopilación);
3. ArrayList (int capacidad inicial)
Este constructor se utiliza para crear una lista de matrices con la capacidad inicial especificada.
Lista de matrices
arr = nueva lista de matrices<>(20);
Operaciones de ArrayList
Ahora, usando los constructores, tenemos ArrayList para operaciones adicionales como InsertionDeletion y Actualización de los elementos en ArrayList.
Javaimport java.util.*; class GFG{ public static void main(String args[]){ // Creating an Array of string type ArrayList<String> al = new ArrayList<>(); // 1. Adding elements to ArrayList at the end al.add('Geeks'); al.add('Geeks'); System.out.println('Original List : '+al); // Adding Elements at the specific index al.add(1 'For'); System.out.println('After Adding element at index 1 : '+ al); // 2. Removing Element using index al.remove(0); System.out.println('Element removed from index 0 : '+ al); // Removing Element using the value al.remove('Geeks'); System.out.println('Element Geeks removed : '+ al); // 3. Updating value at index 0 al.set(0 'GFG'); System.out.println('List after updation of value : '+al); } }
Producción
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Complejidad de Java ArrayList
Operación | Complejidad del tiempo mapa hash | Complejidad espacial árbol binario |
|---|---|---|
Insertar elemento en ArrayList | O(1) | EN) |
Eliminar elemento de ArrayList | EN) | O(1) compareto java |
Atravesando elementos en ArrayList | EN) | EN) |
Reemplazo de elementos en ArrayList | O(1) | O(1) |
Métodos Java ArrayList
| Método | Descripción |
|---|---|
| agregar (elemento de objeto índice int) | Este método se utiliza para insertar un elemento específico en un índice de posición específico en una lista. |
| agregar(Objeto o) | Este método se utiliza para agregar un elemento específico al final de una lista. |
| agregarTodo(Colección C) | Este método se utiliza para agregar todos los elementos de una colección específica al final de la lista mencionada en tal orden que los valores sean devueltos por el iterador de la colección especificada. |
| addAll(índice int Colección C) | Se utiliza para insertar todos los elementos comenzando en la posición especificada de una colección específica en la lista mencionada. |
| claro() | Este método se utiliza para eliminar todos los elementos de cualquier lista. |
| clon() | Este método se utiliza para devolver una copia superficial de un ArrayList en Java. |
| contiene(Objeto o) | Devuelve verdadero si esta lista contiene el elemento especificado. |
| asegurarCapacidad(int minCapacity) | Aumenta la capacidad de esta instancia de ArrayList si es necesario para garantizar que pueda contener al menos la cantidad de elementos especificados por el argumento de capacidad mínima. |
| para cada uno (consumidor super E>acción) | Realiza la acción dada para cada elemento del Iterable hasta que se hayan procesado todos los elementos o la acción genere una excepción. |
| obtener (índice int) | Devuelve el elemento en la posición especificada en esta lista. |
| índice de (objeto O) | El índice de la primera aparición de un elemento específico se devuelve o -1 en caso de que el elemento no esté en la lista. |
| está vacío() | Devuelve verdadero si esta lista no contiene elementos. |
| último índice de (objeto O) | Se devuelve el índice de la última aparición de un elemento específico o -1 en caso de que el elemento no esté en la lista. |
| listaIterador() | Devuelve un iterador de lista sobre los elementos de esta lista (en la secuencia adecuada). |
| listaIterator(índice int) | Devuelve un iterador de lista sobre los elementos de esta lista (en la secuencia adecuada) comenzando en la posición especificada en la lista. |
| eliminar (índice int) | Elimina el elemento en la posición especificada en esta lista. |
| eliminar (Objeto o) | Elimina la primera aparición del elemento especificado de esta lista si está presente. |
| eliminarTodo(Colección c) | Elimina de esta lista todos los elementos contenidos en la colección especificada. |
| removeIf(filtro de predicado) | Elimina todos los elementos de esta colección que satisfacen el predicado dado. |
| removeRange(int deIndex int aIndex) | Elimina de esta lista todos los elementos cuyo índice está entre Índice inclusivo y Índice exclusivo. |
| retenerTodo(Colección>do) | Conserva solo los elementos de esta lista que están contenidos en la colección especificada. |
| conjunto (elemento int índice E) | Reemplaza el elemento en la posición especificada en esta lista con el elemento especificado. |
| tamaño() | Devuelve el número de elementos de esta lista. |
| divisor() | Crea un Spliterator de enlace tardío y de falla rápida sobre los elementos de esta lista. |
| subLista(int deIndex int aIndex) | Devuelve una vista de la parte de esta lista entre el fromIndex incluido y el toIndex exclusivo especificado. |
| a matriz() | Este método se utiliza para devolver una matriz que contiene todos los elementos de la lista en el orden correcto. |
| toArray(Objeto[] O) | También se utiliza para devolver una matriz que contiene todos los elementos de esta lista en el orden correcto, igual que el método anterior. |
| recortarToSize() | Este método se utiliza para recortar la capacidad de la instancia de ArrayList al tamaño actual de la lista. |