Lista de matrices
A diferencia de las matrices ordinarias,   ArrayListdel 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);
arr.agregar(5,10); 
 

Para obtener el valor de un elemento de un ArrayList, use el método  get(index)
Por ejemplo:
int a = arr. obtener(0);

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); 
 
arr.establecer(0,10); 

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);
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); //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);