ArrayList de Java: cómo crear y utilizar una de estas listas
El ArrayList es una de las estructuras de datos más utilizadas en Java. Permite modificar y almacenar dinámicamente una colección de objetos. En este artículo te presentamos la sintaxis y los métodos de ArrayList de Java.
¿Cuál es la diferencia entre ArrayList y Array en Java?
El ArrayList de Java tiene un tamaño dinámico, lo que significa que los elementos pueden ser fácilmente añadidos o eliminados. Además, la clase ArrayList pertenece al Java Collections Framework y, a diferencia de los arrays, no está disponible de forma nativa. Debe importarse de la biblioteca java.util.
El ArrayList es una opción apropiada cuando la longitud de la lista de Java puede variar. Algunos ejemplos son el almacenamiento de objetos, la búsqueda u ordenación de datos y la creación de listas o colas.
El tamaño del tipo de datos array no puede modificarse. Por lo tanto, el número de objetos que debe contener el array debe conocerse de antemano. Por ello, los arrays son adecuados para gestionar un conjunto predefinido de tipos de datos primitivos como int, float, chat o boolean.
Una desventaja de ArrayList es el mayor tiempo de acceso. Mientras que con los arrays existe una zona de memoria reservada fija, con ArrayList esta no es contigua. Por lo tanto, es importante tener en cuenta las ventajas y desventajas respectivas y seleccionar la estructura de datos adecuada para cada uso.
La sintaxis de Java ArrayList
Antes de crear un ArrayList, la clase correspondiente debe ser importada de la librería java.util.
import java.util.ArrayList;
JavaLa sintaxis general es:
ArrayList<Type> arrayList= new ArrayList<>();
Java“Type” representa el tipo de datos respectivo de Java ArrayList.
A continuación, creamos listas de tipo String
e Integer
.
ArrayList<String> arrayList= new ArrayList<>();
JavaArrayList<Integer> arrayList= new ArrayList<>();
JavaArrayList utiliza la clase wrapper correspondiente de los tipos de datos primitivos para que sean tratados como objetos. Por lo tanto, necesitamos especificar Integer
en lugar de int
.
Ejemplos de métodos ArrayList de Java
Operaciones como añadir o eliminar elementos no se realizan con ArrayList utilizando operadores Java, sino a través de métodos predefinidos. A continuación, te mostramos los métodos ArrayList más comunes.
Añadir elementos
Una vez creada la ArrayList “colors” de tipo String
, añadimos varios elementos con el método .add()
.
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
}
}
JavaEsto da este resultado:
ArrayList: [blue, red, green]
JavaEliminar elementos
Para eliminar objetos de un ArrayList Java, utilizamos el método .remove()
con la especificación del índice del elemento.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
String color = colors.remove(1);
System.out.println("ArrayList: " + colors);
System.out.println("Removed Element: " + color);
}
}
JavaEl resultado muestra la ArrayList modificada y el elemento eliminado:
ArrayList: [blue, green]
Removed Element: red
JavaComo en la mayoría de los lenguajes de programación, en Java se comienza a contar en la posición 0. Por lo tanto, el elemento eliminado en el índice 1 es red
.
Acceso a los elementos de una Java ArrayList
Con la función .get()
accedemos a un elemento en una posición concreta.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> clothes = new ArrayList<>();
clothes.add("jacket");
clothes.add("shirt");
clothes.add("pullover");
System.out.println("ArrayList: " + clothes);
String str = clothes.get(2);
System.out.print("Element at index 2: " + str);
}
}
JavaComo resultado obtenemos:
ArrayList: [jacket, shirt, pullover]
Element at index 2: pullover
JavaModificar elementos
Con .set()
establecemos un nuevo elemento en un índice específico.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println("ArrayList: " + colors);
colors.set(2, "yellow");
System.out.println("Modified ArrayList: " + colors);
}
}
JavaEn el resultado vemos ahora yellow
en vez de green
en el índice 2:
ArrayList: [blue, red, green]
Modified ArrayList: [blue, red, yellow]
JavaDeterminar la longitud del Java ArrayList
El número de elementos de un ArrayList se puede calcular fácilmente con el método .size()
.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> colors = new ArrayList<>();
colors.add("blue");
colors.add("red");
colors.add("green");
System.out.println(colors.size());
}
}
JavaComo resultado obtenemos:
3
JavaOrdenar e iterar a través de un ArrayList
Para ordenar un ArrayList en Java, hay que importar la clase Collections. Para la iteración utilizamos un bucle Java For Each. Para cada iteración del bucle, el elemento respectivo es enviado a la consola.
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> ages = new ArrayList<Integer>();
ages.add(20);
ages.add(54);
ages.add(17);
ages.add(9);
Collections.sort(ages);
for (int i : ages) {
System.out.println(i);
}
}
}
JavaLos elementos del ArrayList se muestran en orden ascendente:
9
17
20
54
Java