Como usar ArrayList en JAVA Manejando Arreglos

Java

Los Arreglos o Arrays son fundamentales en el desarrollo de soluciones informáticas haciendo uso de Software, estos nos permiten realizar aplicaciones robustas, potentes y complejas en el manejo de información que normalmente es de un solo tipo o que hace parte de un mismo contexto, veamos como usar ArrayList en JAVA manejando Arreglos veremos como nuestra codificación será ademas de profesional, más corta.

Como usar ArrayList en JAVA Manejando Arreglos

Primero que todo adoptemos la definición de Array en JAVA:

Un Array o Arreglo en JAVA nos permite almacenar muchos valores, haciendo uso de una sola variable, estos valores pueden ser accedidos a través de un índice, es como si tuviéramos un armario con muchos casilleros, de estos casilleros podemos obtener sus valores referenciando su número.

Array de forma gráfica en JAVA

Como usar ArrayList en JAVA Manejando Arreglos

En una forma gráfica un ArrayList podríamos imaginarlo tal cual como se muestra en la imagen anterior, “Como una serie de casillas o casilleros en las cuales tenemos valores”, cada uno de estos valores tienen un índice que los identifica, empezando desde el índice 0.

Como declarar Arrays en JAVA

Veamos algunas formas para declarar Arrays en JAVA de un mismo tipo.

Array de tipo String (Cadena)

String dias [] = {"Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Basado", "Domingo"};

Array de tipo Int (Entero)

 int numeros [] = {10,4,5,7,2,9};

Array de tipo Double (Decimal)

double m [] = {2.3, 4, 2.6, 5};

Nota: En estas declaraciones no solo puedes hacerlas asignando números o cadenas de caracteres, puedes hacerlo también haciendo uso de variables, ya que en la mayoría de las ocasiones los valores con los cuales llenamos los arreglos provienen del usuario, ejemplo:

Caso: solicitar al usuario 3 números y guardarlos en un arreglo, posteriormente mostrar el contenido del arreglo:

 Scanner reader = new Scanner(System.in);
 
 System.out.println("Ingrese el primer numero");
 int n1 = reader.nextInt();
 System.out.println("Ingrese el segundo numero");
 int n2 = reader.nextInt();
 System.out.println("Ingrese el tercer numero");
 int n3 = reader.nextInt();
 //Llenamos el array con los números solicitados
 int numeros [] = {n1, n2, n3};
 
 for (int i = 0; i < numeros.length; i++) {
 System.out.println(numeros[i]);
 }

¿Como saber el tamaño de este tipo de Array?

Si deseas saber el tamaño de este tipo de Array, solo debes hacer llamado a su propiedad length, mostremos en un mensaje el tamaño del Array días:

System.out.println(""+dias.length);

Esto nos mostraría un valor de 7, ya que son 7 los valores contenidos en este, ahora bien ¿para que nos sirve esta propiedad?, pues es de gran ayuda para “Recorrer” los datos de nuestro Array.

Recorriendo el Array “dias

String dias [] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"};
 for (int i = 0; i < dias.length; i++) {
 System.out.println(dias[i]);
 }

El código anterior utiliza un ciclo for para “íterar” o recorrer todos los valores del Array y de esta forma obtenerlos y mostrarlos en un mensaje.

Otra forma de declarar Arrays de un mismo tipo

Podemos realizar la declaración asignando el número de elementos del Array, si ya sabemos cuantos elementos manejaremos, así.

long[] conteo = new long[4];
float[] promedios = new float[3];
double[] numeros = new double[3];
boolean[] encendio = new boolean[5];
char[] genero = new char[2];

Ejemplo de uso Array de tipo String con 4 elementos

String[] nombres = new String[4];
 nombres[0] = "José";
 nombres[1] = "Carlos";
 for (int i = 0; i < nombres.length; i++) {
 System.out.println(nombres[i]);
 }

Si ejecutamos el código anterior obtendríamos:

José
Carlos
null
null

Ya que solo hemos asignado valores a los dos primeros lugares en nuestro Array.

Manejando Arrays en JAVA haciendo uso de la Clase ArrayList

Al crear Arrays de este tipo podemos contar con propiedades de la clase ArrayList para manejar de forma fácil los datos contenidos en el Array, adicional cuenta con una ventaja muy notable, tiene la capacidad de los elementos almacenados se realizan de forma dinámica, por ende el Array irá creciendo a medida que ingresemos valores y también al contrario. veamos.

Declaración de un ArrayList

 ArrayList MyArray = new ArrayList();

De esta forma ya tenemos un ArrayList listo para almacenar datos, debemos tener en cuenta que necesitamos la librería:

import java.util.ArrayList;

Si trabajas con algún IDE, lo más probable es que este realice el import de forma automática por ti.

Asignando valores a un ArrayList en JAVA

Para esto tan solo hacemos uso de la propiedad “add“, de la clase ArrayList en JAVA y pasamos el valor a guardar.

 MyArray.add("José");
 MyArray.add("María");
 MyArray.add("Carlos");

Obtener valores de ArrayList en JAVA

Se hace de forma similar a los tipos de Array vistos anteriormente, haciendo uso de un ciclo for, sin embargo hacemos llamado a la propiedad size() del array para conocer su dimensión.

ArrayList MyArray = new ArrayList();
 
 MyArray.add("José");
 MyArray.add("María");
 MyArray.add("Carlos");
 
 for (int i = 0; i < MyArray.size(); i++) {
 System.out.println(""+MyArray.get(i));
 }

Eliminar elementos de ArrayList JAVA

Esta acción la realizamos de forma muy sencilla llamando la propiedad remove del ArrayList y pasando el índice que deseamos eliminar (Posición), ojo no el valor de la posición.

MyArray.remove(1);

Con el código anterior eliminamos del ArrayList el índice 1, en el cual está el valor “María”, por ende la dimensión del Array pasa de ser 3 a ser 2.

Eliminar todos los datos del ArrayList

MyArray.clear();

Validar si el ArrayList está vacío

Para esto nos apoyamos en un condicional y en la propiedad isEmpty(), ejemplo:

 ArrayList MyArray = new ArrayList();
 
 MyArray.add("José");
 MyArray.add("María");
 MyArray.add("Carlos");
 
 if (MyArray.isEmpty()) {
 System.out.println("El Array está vacío");
 }else{
 System.err.println("El Array está lleno");
 }

Buscar un valor dentro del ArrayList

Esta es una propiedad bastante potente de los ArrayList, nos permite encontrar de forma rápida un valor:

ArrayList MyArray = new ArrayList();
 
 MyArray.add("José");
 MyArray.add("María");
 MyArray.add("Carlos");
 
 if (MyArray.contains("Carlos")) {
 System.out.println("Si está");
 }else{
 System.err.println("No está");
 }

También podemos crear Arrays de tipos personalizados, esto lo puedes ver en este artículo en el cual creamos una lista de elementos basándonos en una clase con atributos.