Lista de matrices
A diferencia de las matrices ordinarias, ArrayList del paquete java.util es una matriz que se expande automáticamente. Cuando crea un objeto de tipo ArrayList , no necesita especificar su dimensión. Por ejemplo,
ArrayList lista = new ArrayList();
Ventajas ArrayList en comparación con una matriz normal:
- acceso rápido a elementos por índice en tiempo constante
O(1) ;
- acceder a elementos por valor en tiempo lineal
O(n) ;
- le permite almacenar cualquier valor, incluido
null .
Debilidades ArrayList :
Insertar/quitar un elemento provoca la sobreescritura de todos los elementos colocados "a la derecha" en la lista una posición a la izquierda, es decir, trabaja en tiempo lineal O(n) ;
Recuerde que las listas solo pueden contener objetos, por lo que si desea almacenar números, use Integer en lugar de int . Integer es el nombre de una clase, y un objeto de esta clase puede contener un valor entero. Puede leer más sobre clases y objetos aquí: introducción a la programación orientada a objetos.
|
Hay dos opciones para agregar un elemento a una ArrayList:
add(value); - agregar un valor al final de ArrayList
add(index, value); - agregar un valor en el lugar correcto por índice.
Por ejemplo:
arr.añadir(10); lapso>
arr.agregar(5,10);
|
Para obtener el valor de un elemento de un ArrayList, use el método get(index)
Por ejemplo:
Para averiguar la cantidad de elementos en una matriz, puede usar el método size()
Por ejemplo:
int cuenta = arr. tamaño();
|
Para cambiar el valor por índice en la lista, use name.set(index,value);
|
Hay dos opciones para agregar un elemento a una ArrayList:
add(value); - agregar un valor al final de ArrayList
add(index, value); - agregar un valor en el lugar correcto por índice.
Por ejemplo:
arr.añadir(10); lapso>
arr.agregar(5,10);
|
Puede eliminar elementos en un ArrayList usando el método remove de dos maneras:
- por eliminación de índice(índice)
- por valor eliminar(valor)
Por ejemplo:
arr.eliminar(0); span> //elimina el primer elemento
arr.eliminar(< strong>new Integer(10)); //elimina el elemento con valor 10
|
Lista de matriz inversa
La interfaz Collections también proporciona métodos para operaciones masivas que funcionan en toda la colección:
containsAll - devuelve el valor booleano true si esta colección contiene todos los elementos de la colección llamada; de lo contrario, devuelve false .
addAll - agrega todos los elementos especificados a la colección especificada. Los elementos que se agregarán se pueden especificar individualmente o como una matriz.
removeAll - se utiliza para eliminar todos los elementos de la lista que están contenidos en la colección especificada.
borrar - eliminar todos los elementos
reverse - matriz inversa
etc
Ejemplo
Usando removeAll .
ArrayList<Entero> primero = nueva ArrayList<Integer>();
primero.añadir(1);
primero.añadir(2);
primero.añadir(3);
ArrayList<Entero> segundo = nueva ArrayList<Integer>();
segundo.añadir(1);
segundo.añadir(2);
// elimina todos los elementos de la segunda lista,
// si existen en la primera lista
segundo.removeAll(primero);
|