ArrayList en Java: una introducción para principiantes [2022]
Publicado: 2022-11-22Una matriz es una estructura de datos generalizada y esencial en todos los lenguajes de programación con una desventaja: su tamaño es fijo. Veamos cómo ArrayList en Java puede ayudar con esto.
Una matriz puede ser de dos tipos: una matriz estática o una matriz dinámica. Una matriz no se puede aumentar dinámicamente en lenguajes de programación como Java. En cambio, el tamaño de la matriz se declara durante la inicialización de la matriz. Pero, en muchos casos, esto puede conducir a muchos problemas. Para resolver este problema, se utilizan ArrayLists en Java. El tamaño de la matriz aumenta automáticamente cuando un elemento se inserta en una ArrayList.
En este artículo, aprenderá sobre ArrayLists en Java. Comprenderá la diferencia principal entre Array y ArrayList y también aprenderá sobre los diferentes tipos de ArrayLists y cómo usarlos.
Array frente a ArrayList
La principal diferencia entre un Array y un ArrayList es que el tamaño de un Array es estático, pero el tamaño de un ArrayList puede ser dinámico. Como una matriz es fija, el tiempo para iterar sobre la matriz lleva menos tiempo que una matriz dinámica.
También hay algunas diferencias más entre ellos.
- Una matriz estática puede ser unidimensional o multidimensional, pero una ArrayList solo puede ser unidimensional.
- Un Array es una estructura de datos primitiva disponible en Java. Pero un ArrayList es parte de una API de marco de colección en Java. Está construido sobre Arrays.
- Puede declarar matrices con tipos de datos primitivos. Los tipos de datos primitivos no se pueden usar en un ArrayList. Si desea utilizar un tipo de datos primitivo, deberá utilizar la clase contenedora correspondiente del tipo de datos.
Tipos de ArrayLists en Java
ArrayLists puede ser de cualquier tipo. Pero deberá pasar la clase contenedora correspondiente porque no puede pasar tipos de datos primitivos en un ArrayList.
Puede agregar tipos de datos simples como enteros o tipos de cadenas pasando clases contenedoras como Integer
o String
.
También puede pasar tipos complejos como ArrayLists de ArrayLists, hashmaps, etc.
Echemos un vistazo a un ejemplo del uso de una clase personalizada dentro de una ArrayList.
import java.util.ArrayList; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public void getUser() { System.out.println("Name: " + name + " Age: " + age); } } class Main { public static void main(String[] args) { ArrayList<User> users = new ArrayList<>(); users.add(new User("Subha", 25)); users.add(new User("Dan", 32)); users.forEach(user -> { user.getUser(); }); } } Output: Name: Subha Age: 25 Name: Dan Age: 32
En el ejemplo de código anterior, se crea una ArrayList de tipo User
. Aprenderá más acerca de los métodos utilizados en el siguiente ejemplo.
Crear una ArrayList en Java
Ya has entendido los conceptos básicos de un ArrayList en Java. Ahora echemos un vistazo a la sintaxis de un ArrayList y, a continuación, también veremos cómo se puede usar en código Java.
ArrayList<Type> listName = new ArrayList<>();
El fragmento anterior muestra la sintaxis para definir una ArrayList. El Type
define el tipo de ArrayList. Por ejemplo, si desea declarar una ArrayList de tipos de datos enteros, puede pasar <Integer>
. Tenga en cuenta que no puede pasar int
ya que es un tipo de datos primitivo.
También deberá importar java.util.ArrayList
para usar ArrayList en sus programas. Aquí hay un ejemplo básico de un programa que declara una ArrayList:
import java.util.ArrayList; class Main { public static void main(String[] args) { // Declare An ArrayList ArrayList<String> rainbow = new ArrayList<>(); System.out.println(rainbow); } } Output: []
En el código anterior, se declara una ArrayList denominada rainbow
de tipo String
.
Para trabajar con ArrayList, hay varios métodos disponibles. Echemos un vistazo a algunos métodos.
El método de add
La clase ArrayList proporciona varios métodos para realizar operaciones como agregar o eliminar elementos, obtener valores, establecer un valor en una posición específica, borrar una ArrayList, etc.
El primer método que veremos es el método add
.
El método add
se usa para agregar un solo elemento a una ArrayList
. La sintaxis para add
se muestra a continuación.
arrayList.add(int i, Element)
Entendamos la sintaxis ahora. El primer parámetro i
es un parámetro opcional que representa la posición del índice donde se encuentra el elemento que desea agregar. El segundo parámetro Element
es el elemento que desea agregar. Echemos un vistazo a un ejemplo ahora.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet]
El rainbow.add("Violet")
agrega un elemento al final de una ArrayList. Y el rainbow.add(0, "Red")
agrega el elemento Red
a la posición de índice 0
de ArrayList. El método add()
devuelve true
cuando un elemento se inserta correctamente.

El método get
El método get
se usa para obtener el valor de una posición específica de un ArrayList.
arrayList.get(int i);
La i
que se muestra en la sintaxis anterior es la posición del índice. Por ejemplo, si desea obtener el elemento de la posición de índice 1
, escriba arrayList.get(1)
.
rainbow.add("Violet"); rainbow.add(0, "Red"); String color = rainbow.get(1); System.out.println(color); Output: Violet
El código anterior devolverá Violet
del rainbow
de ArrayList.
El método set
El método set
se usa para reemplazar el valor de un artículo. Por ejemplo, si desea reemplazar el valor de un elemento en la posición de índice 0
, escriba rainbow.set(0, "Purple")
, asumiendo que tiene una ArrayList llamada rainbow
.
La sintaxis para el método set
es la siguiente,
arrayList.set(int i, Element);
Donde i
es la posición del índice y Element
es el valor del nuevo elemento.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet] rainbow.set(1, "Purple"); System.out.println(rainbow); Output: [Red, Purple]
En el ejemplo anterior, agregamos dos valores a un ArrayList llamado rainbow
. Primero, se agrega el elemento Violet
, luego en la posición 0
de ArrayList, agregamos el elemento Red
. En este punto, la ArrayList completa se ve así, [Red, Violet]
.
Ahora, el elemento en la posición de índice 1
se reemplaza con el valor Purple
usando el método set
. Después de reemplazar el valor, ArrayList se verá así, [Red, Purple]
.
El método de remove
El método de remove
de ArrayList se utiliza para eliminar un valor de ArrayList. Puede pasar el valor o la posición del índice del valor que desea eliminar. La sintaxis para el método remove
se muestra a continuación:
arrayList.remove(Object value); // or arrayList.remove(int i);
Tomemos un ejemplo para una mejor comprensión del método. Suponga que tiene una ArrayList llamada rainbow
con estos valores [Violet, Red, Green]
. Ahora, si desea eliminar Red
de ArrayList, puede escribir rainbow.remove("Red");
. Llamar a este método en el ArrayList del rainbow
eliminará el elemento Red
de él.
// rainbow = [Violet, Red, Green] rainbow.remove("Red"); System.out.println(rainbow); Output: [Violet, Green]
También puede pasar la posición de índice para eliminar el elemento en la posición de índice.
//rainbow = [Red, Green] rainbow.remove(0); // Remove item at index position 0 System.out.println(rainbow); Output: [Green]
El método clear
Como sugiere el nombre, el método clear
elimina todos los elementos de una ArrayList. La sintaxis es sencilla y no requiere ningún parámetro.
arraylist.clear()
Veamos un ejemplo,
rainbow.clear(); System.out.println(rainbow); Output: []
El método clear
no devuelve ningún valor. En su lugar, borra el valor de la ArrayList dada.
El método de size
El método de size
devuelve el tamaño de la ArrayList dada. Este método tampoco toma ningún parámetro. La sintaxis se muestra a continuación.
arrayList.size();
arrayList
es el nombre de ArrayList aquí. Comprendamos el método del size
con la ayuda de un ejemplo.
ArrayList<String> rainbow = new ArrayList<>(); rainbow.add("Violet"); rainbow.add("Red"); rainbow.add("Green"); System.out.println(rainbow.size()); Output: 3
Este método devuelve el valor del tamaño de ArrayList. En el ejemplo anterior, el rainbow
ArrayList consta de tres valores, por lo que el método de size
devuelve 3.
Conclusión
Este artículo discutió qué es un ArrayList y en qué se diferencia de un Array. También vimos cómo se puede declarar y utilizar una ArrayList usando varios métodos disponibles para la clase ArrayList.
Si desea profundizar en el aprendizaje de Java, consulte estos cursos de Java en línea.