Clase Java ArrayList
Clase Java ArrayList
En este tutorial, aprenderemos sobre la clase ArrayList en Java. Aprenderemos sobre diferentes operaciones y métodos de la lista de arreglos con la ayuda de ejemplos.
El ArrayList
La clase del marco de colecciones de Java proporciona la funcionalidad de matrices redimensionables .
Implementa el List
interfaz.

Java ArrayList Vs Array
En Java, necesitamos declarar el tamaño de una matriz antes de poder usarla. Una vez que se declara el tamaño de una matriz, es difícil cambiarlo.
Para manejar este problema, podemos usar el ArrayList
clase. Nos permite crear matrices redimensionables.
A diferencia de las matrices, las listas de matrices pueden ajustar automáticamente su capacidad cuando agregamos o eliminamos elementos de ella. Por lo tanto, las listas de matrices también se conocen como matrices dinámicas. .
Creando un ArrayList
Antes de usar ArrayList
, necesitamos importar el java.util.ArrayList
paquete primero. Así es como podemos crear listas de arreglos en Java:
ArrayList<Type> arrayList= new ArrayList<>();
Aquí, Escriba indica el tipo de una lista de arreglos. Por ejemplo,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
En el programa anterior, hemos usado Integer
no int. Es porque no podemos usar tipos primitivos mientras creamos una lista de arreglos. En su lugar, tenemos que usar las clases contenedoras correspondientes.
Aquí, Integer
es la clase contenedora correspondiente de int
. Para obtener más información, visite la clase contenedora de Java.
Ejemplo:Crear ArrayList en Java
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
Salida
ArrayList: [Java, Python, Swift]
En el ejemplo anterior, hemos creado un ArrayList
idiomas nombrados .
Aquí, hemos usado el add()
método para agregar elementos a la lista de arreglos. Aprenderemos más sobre el add()
más adelante en este tutorial.
Operaciones básicas en ArrayList
El ArrayList
La clase proporciona varios métodos para realizar diferentes operaciones en listas de arreglos. Veremos algunas operaciones de listas de arreglos de uso común en este tutorial:
- Añadir elementos
- Acceder a elementos
- Cambiar elementos
- Eliminar elementos
1. Añadir elementos a una ArrayList
Para agregar un solo elemento a la lista de arreglos, usamos el add()
método del ArrayList
clase. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
Salida
ArrayList: [Java, C, Python]
En el ejemplo anterior, hemos creado un ArrayList
idiomas nombrados . Aquí, hemos utilizado el add()
método para agregar elementos a idiomas .
Para obtener más información, visite Java ArrayList add().
Otra forma de agregar elementos a la lista de arreglos
¿Cómo agregar un elemento en una posición específica en un ArrayList? cheurón-derecha">
También podemos pasar un número de índice como parámetro adicional al add()
método para agregar un elemento en la posición especificada. Por ejemplo,
// add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
¿Cómo agregar todos los elementos de un conjunto a una lista de arreglos? -derecho">
También podemos agregar todos los elementos de una colección (conjunto, mapa) a una lista de arreglos usando el addAll()
método. Por ejemplo,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
Para obtener más información, visite Java ArrayList addAll().
2. Acceder a los elementos de ArrayList
Para acceder a un elemento de la lista de arreglos, usamos el get()
método del ArrayList
clase. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
Salida
ArrayList: [Cat, Dog, Cow] Element at index 1: Dog
En el ejemplo anterior, hemos utilizado el get()
método con parámetro 1 . Aquí, el método devuelve el elemento en índice 1 .
Para obtener más información, visite Java ArrayList get().
También podemos acceder a elementos del ArrayList
usando el iterator()
método. Para obtener más información, visite Java ArrayList iterator().
3. Cambiar elementos de ArrayList
Para cambiar elementos de la lista de arreglos, usamos el set()
método del ArrayList
clase. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
Salida
ArrayList: [Java, Kotlin, C++] Modified ArrayList: [Java, Kotlin, JavaScript]
En el ejemplo anterior, hemos creado un ArrayList
idiomas nombrados . Fíjate en la línea,
language.set(2, "JavaScript");
Aquí, el set()
El método cambia el elemento en índice 2 a JavaScript .
Para obtener más información, visite Java ArrayList set().
4. Eliminar elementos de ArrayList
Para eliminar un elemento de la lista de arreglos, podemos usar el remove()
método del ArrayList
clase. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
Salida
ArrayList: [Dog, Cat, Horse] Updated ArrayList: [Dog, Cat] Removed Element: Horse
Aquí, el remove()
método toma el número de índice como parámetro. Y elimina el elemento especificado por el número de índice .
Para obtener más información, visite Java ArrayList remove().
También podemos eliminar todos los elementos de la lista de matrices a la vez. Para obtener más información, visite
- Java ArrayList removeAll()
- Limpieza de Java ArrayList()
Métodos de la clase ArrayList
En la sección anterior, hemos aprendido sobre el add()
, get()
, set()
y remove()
método del ArrayList
clase.
Además de esos métodos básicos, aquí hay algunos más ArrayList
métodos que se usan comúnmente.
Métodos | Descripciones |
---|---|
tamaño() | Devuelve la longitud de la lista de arreglos. |
ordenar() | Ordenar los elementos de la lista de arreglos. |
clonar() | Crea una nueva lista de arreglos con el mismo elemento, tamaño y capacidad. |
contiene() | Busca en la lista de arreglos el elemento especificado y devuelve un resultado booleano. |
asegurarCapacidad() | Especifica el elemento total que puede contener la lista de matrices. |
estáVacío() | Comprueba si la lista de arreglos está vacía. |
índice de() | Busca un elemento específico en una lista de arreglos y devuelve el índice del elemento. |
Si desea conocer todos los diferentes métodos de arraylist, visite los métodos de Java ArrayList.
Iterar a través de una ArrayList
Podemos usar el bucle for-each de Java para recorrer cada elemento de la lista de arreglos. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
Salida
ArrayList: [Cow, Cat, Dog] Accessing individual elements: Cow, Cat, Dog,
Preguntas frecuentes
¿Cuál es la diferencia entre Java ArrayList y LinkedList?
Algunas de las principales diferencias entre ArrayList
y LinkedList
en Java son:
Lista de matrices | Lista enlazada |
Implementa List interfaz | Implementa List , Queue y Deque interfaces. |
Almacena un solo valor. | Almacena 3 valores:datos, dirección anterior y siguiente |
Proporciona la funcionalidad de una matriz redimensionable. | Proporciona la funcionalidad de lista doblemente enlazada |
Podemos convertir el ArrayList
en una matriz usando el toArray()
método. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
Salida
ArrayList: [Java, Python, C++] Array: Java, Python, C++,
En el ejemplo anterior, el toArray()
método convierte los idiomas arraylist a una matriz y la almacena en arr . Para obtener más información, visite Java ArrayList toArray().
Usamos el asList()
método del Arrays
clase. Para usar asList()
, debemos importar el java.util.Arrays
paquete primero. Por ejemplo,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
Salida
Array: Java Python C++ ArrayList: [Java, Python, C++]
En el programa anterior, primero creamos una matriz arr
del String
escribe. Observe la expresión,
Arrays.asList(arr)
Aquí, el asList()
El método convierte la matriz en una lista de matrices.
Usamos el Arrays.asList()
método para crear e inicializar una lista de arreglos en una sola línea. Por ejemplo,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
¿Cómo convertir un ArrayList a String?
Usamos el toString()
método del ArrayList
class para convertir una lista de arreglos en una cadena. Por ejemplo,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
Salida
ArrayList: [Java, Python, Kotlin] String: [Java, Python, Kotlin]
Aquí, el toString()
El método convierte toda la lista de arreglos en una sola cadena. Para obtener más información, visite Java ArrayList toString().
También podemos crear una lista de arreglos usando la interfaz List. Es porque la clase ArrayList implementa la interfaz List. Veamos un ejemplo,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Java