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