Java ArrayList (con ejemplos)

En este tutorial, aprenderemos sobre la clase ArrayList en Java. Aprenderemos sobre las diferentes operaciones y métodos de la lista de matrices con la ayuda de ejemplos.

La ArrayListclase del marco de colecciones de Java proporciona la funcionalidad de matrices redimensionables .

Implementa la Listinterfaz.

Implementación de Java ArrayList

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 la ArrayListclase. Nos permite crear matrices de tamaño variable.

A diferencia de las matrices, las listas de matrices pueden ajustar automáticamente su capacidad cuando agregamos o eliminamos elementos de ellas. Por lo tanto, las listas de matrices también se conocen como matrices dinámicas .

Creando una ArrayList

Antes de usarlo ArrayList, java.util.ArrayListprimero debemos importar el paquete. Así es como podemos crear listas de matrices en Java:

 ArrayList arrayList= new ArrayList();

Aquí, Tipo indica el tipo de lista de matrices. Por ejemplo,

 // create Integer type arraylist ArrayList arrayList = new ArrayList(); // create String type arraylist ArrayList arrayList = new ArrayList();

En el programa anterior, hemos utilizado Integernot int. Es porque no podemos usar tipos primitivos mientras creamos una lista de matrices. En su lugar, tenemos que usar las clases contenedoras correspondientes.

Aquí, Integerestá 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 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 ArrayListidiomas con nombre.

Aquí, hemos utilizado el add()método para agregar elementos a la lista de matrices. Aprenderemos más sobre el add()método más adelante en este tutorial.

Nota : También podemos crear una lista de matrices usando la Listinterfaz. Es porque la ArrayListclase implementa la Listinterfaz.

 List list = new ArrayList();

Operaciones básicas en ArrayList

La ArrayListclase proporciona varios métodos para realizar diferentes operaciones en listas de matrices. En este tutorial veremos algunas operaciones de listas de matrices de uso común:

  • Agregar elementos
  • Elementos de acceso
  • Cambiar elementos
  • Quitar elementos

1. Agregar elementos a una ArrayList

Para agregar un solo elemento a la lista de matrices, usamos el add()método de la ArrayListclase. Por ejemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args)( // create ArrayList ArrayList languages = new ArrayList(); // add() method without the index parameter languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages); // add() method with the index parameter languages.add(1, "JavaScript"); System.out.println("Updated ArrayList: " + languages); ) )

Salida

 ArrayList: (Java, C, Python) ArrayList actualizado: (Java, JavaScript, C, Python)

En el ejemplo anterior, hemos creado ArrayListidiomas con nombre. Aquí, hemos utilizado el add()método para agregar elementos a los idiomas.

Note la declaración,

 languages.add(1, "JavaScript");

Aquí, hemos utilizado el parámetro de número de índice . Es un parámetro opcional que especifica la posición donde se agrega el nuevo elemento.

Para obtener más información, visite Java ArrayList add ().

También podemos agregar elementos de una colección a una lista de matrices usando el método Java ArrayList addAll ().

2. Acceda a ArrayList Elements

Para acceder a un elemento de la lista de matrices, usamos el get()método de la ArrayListclase. Por ejemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList 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) Elemento en el índice 1: Dog

En el ejemplo anterior, hemos utilizado el get()método con el parámetro 1. Aquí, el método devuelve el elemento en el índice 1 .

Para obtener más información, visite Java ArrayList get ().

También podemos acceder a elementos del ArrayListusando el iterator()método. Para obtener más información, visite Java ArrayList iterator ().

3. Cambiar elementos ArrayList

Para cambiar el elemento de la lista de matrices, usamos el set()método de la ArrayListclase. Por ejemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList 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 ++) ArrayList modificado: (Java, Kotlin, JavaScript)

En el ejemplo anterior, hemos creado ArrayListidiomas con nombre. Note la línea

 language.set(2, "JavaScript");

Aquí, el set()método cambia el elemento en el índice 2 a JavaScript.

Para obtener más información, visite Java ArrayList set ().

4. Eliminar elementos ArrayList

Para eliminar un elemento de la lista de matrices, podemos usar el remove()método de la ArrayListclase. Por ejemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList animals = new ArrayList(); // add elements in the array list animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); System.out.println("ArrayList: " + animals); // aemove 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) ArrayList actualizada: (Dog, Cat) Elemento eliminado: 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 ()
  • Java ArrayList clear ()

Métodos de la clase ArrayList

En la sección anterior, hemos aprendido sobre el add(), get(), set(), y el remove()método de la ArrayListclase.

Besides those basic methods, here are some more ArrayList methods that are commonly used.

Methods Descriptions
size() Returns the length of the arraylist.
sort() Sort the arraylist elements.
clone() Creates a new arraylist with the same element, size, and capacity.
contains() Searches the arraylist for the specified element and returns a boolean result.
ensureCapacity() Specifies the total element the arraylist can contain.
isEmpty() Checks if the arraylist is empty.
indexOf() Searches a specified element in an arraylist and returns the index of the element.

If you want to learn about all the different methods of arraylist, visit Java ArrayList methods.

Iterate through an ArrayList

We can use the Java for-each loop to loop through each element of the arraylist. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // creating an array list ArrayList 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(", "); ) ) )

Output

 ArrayList: (Cow, Cat, Dog) Accessing individual elements: Cow, Cat, Dog,

ArrayList To Array Conversion

We can convert the ArrayList into an array using the toArray() method. For example,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList 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 + ", "); ) ) )

Output

 ArrayList: (Java, Python, C++) Array: Java, Python, C++, 

In the above example, we have created an arraylist named languages. Notice the statement,

 languages.toArray(arr);

Here, the toArray() method converts the arraylist into an array and stores it in arr. To learn more, visit Java ArrayList toArray().

Java Array to ArrayList Conversion

We can also convert the array into an arraylist. For that, we use the asList() method of the Arrays class.

To use asList(), we must import the java.util.Arrays package first. For example,

 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 languages = new ArrayList(Arrays.asList(arr)); System.out.println("ArrayList: " + languages); ) )

Output

 Array: Java Python C++ ArrayList: (Java, Python, C++)

In the above program, we first created an array arr of the String type. Notice the expression,

 Arrays.asList(arr)

Aquí, el asList()método convierte la matriz en una lista de matrices.

Nota : También podemos usar el Arrays.asList()método para crear e inicializar la lista de matrices en una sola línea. Por ejemplo,

  // create and initialize arraylist ArrayList animals = new ArrayList(Arrays.asList("Cat", "Cow", "Dog"));

Conversión de ArrayList a String

Podemos usar el toString()método de la ArrayListclase para convertir una lista de matrices en una cadena. Por ejemplo,

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList 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) Cadena: (Java, Python, Kotlin)

Aquí, el toString()método convierte toda la lista de matrices en una sola cadena. Para obtener más información, visite Java ArrayList toString ().

Articulos interesantes...