Breaking

Post Top Ad

Your Ad Spot

sábado, 21 de diciembre de 2019

Clase Java ArrayList

En este tutorial, aprenderemos sobre la clase Java ArrayList. Aprenderemos sobre diferentes operaciones y métodos de ArrayList con la ayuda de ejemplos.
anuncios a través de carbonoMongoDB Atlas es el servicio de base de datos en la nube más confiable disponible. ¡Probar ahora!ANUNCIOS A TRAVÉS DE CARBONO
La ArrayListclase es una implementación de la Listinterfaz que nos permite crear matrices redimensionables.
La clase Java ArrayList implementa la interfaz List.

Java Array Vs ArrayList

En Java, debemos declarar el tamaño de una matriz antes de poder usarlo. Una vez que se declara el tamaño de una matriz, es difícil cambiarlo.
Para manejar este problema, podemos usar la ArrayListclase. La ArrayListclase presente en el java.utilpaquete nos permite crear matrices redimensionables.
A diferencia de las matrices, las listas de matrices (objetos de la ArrayListclase) pueden ajustar automáticamente su capacidad cuando le agregamos o eliminamos elementos. Por lo tanto, las listas de matrices también se conocen como matrices dinámicas.

Crear una ArrayList

Así es como podemos crear listas de matrices en Java:
  1. ArrayList<Type> arrayList= new ArrayList<>();
Aquí, Tipo indica el tipo de una lista de matriz. Por ejemplo,
  1. // create Integer type arraylist
  2. ArrayList<Integer> arrayList = new ArrayList<>();
  3. // create String type arraylist
  4. ArrayList<String> arrayList = new ArrayList<>();
En el programa anterior, hemos usado IntegerStringAquí, Integeres la clase de contenedor correspondiente del inttipo.
Una clase contenedora es una clase que envuelve un tipo de datos primitivo. Por ejemplo, la Integerclase envuelve el inttipo, la Floatclase envuelve el floattipo, etc.
Nota: No se puede crear listas de matriz de tipos de datos primitivos como intfloatchar, etc. En cambio, tenemos que usar su correspondiente clase de contenedor.
En el caso de las cadenas, Stringes una clase y no tiene una clase de contenedor. Por lo tanto, hemos utilizado Stringcomo es.

También podemos crear listas de matrices usando la Listinterfaz. Es porque la ArrayListclase implementa la Listinterfaz.
  1. List<String> list = new ArrayList<>();

Métodos de ArrayList

ArrayList proporciona varios métodos que nos permiten realizar operaciones de lista de matriz.

Agregar elementos a una ArrayList

1. Usando el método add ()
Para agregar un solo elemento a la lista de la matriz, utilizamos el add()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args){
  4. ArrayList<String> animals = new ArrayList<>();
  5. // Add elements
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("ArrayList: " + animals);
  10. }
  11. }
Salida
[Perro, gato, caballo]
2. Usando el número de índice
También podemos agregar elementos a una lista de matriz usando índices. Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args){
  4. ArrayList<String> animals = new ArrayList<>();
  5. // Add elements
  6. animals.add(0,"Dog");
  7. animals.add(1,"Cat");
  8. animals.add(2,"Horse");
  9. System.out.println("ArrayList: " + animals);
  10. }
  11. }
Salida
[Perro, gato, caballo]
3. Agregar elementos de una lista de matriz a otra lista de matriz
Para agregar todos los elementos de una lista de matriz a una nueva lista de matriz, utilizamos el addAll()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args){
  4. ArrayList<String> mammals = new ArrayList<>();
  5. mammals.add("Dog");
  6. mammals.add("Cat");
  7. mammals.add("Horse");
  8. System.out.println("Mammals: " + mammals);
  9. ArrayList<String> animals = new ArrayList<>();
  10. animals.add("Crocodile");
  11. // Add all elements of mammals in animals
  12. animals.addAll(mammals);
  13. System.out.println("Animals: " + animals);
  14. }
  15. }
Salida
Mamíferos: [Perro, Gato, Caballo]
Animales: [cocodrilo, perro, gato, caballo]

Inicializar una ArrayList usando asList ()

A diferencia de las matrices, no podemos inicializar las listas de matrices directamente. Sin embargo, podemos usar el asList()método de la Arraysclase para lograr el mismo efecto.
Para utilizar el asList()método, java.util.Arraysprimero debemos importar el paquete.
Por ejemplo,
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating an array list
  6. ArrayList<String> animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog"));
  7. System.out.println("ArrayList: " + animals);
  8. // Access elements of the array list
  9. String element = animals.get(1);
  10. System.out.println("Accessed Element: " + element);
  11. }
  12. }
Salida
ArrayList: [Gato, Vaca, Perro]
Elemenet Accedido: Vaca
En el ejemplo anterior, observe la expresión,
  1. new ArrayList<>(Arrays.asList(("Cat", "Cow", "Dog"));
Aquí, primero creamos una matriz de 3 elementos: "Gato" , "Vaca" y "Perro" . Luego, el asList()método se utiliza para convertir la matriz en una lista de matriz.
Para obtener más información sobre las diferentes formas de inicializar un ArrayList, visite: Inicialización de una ArrayList en una línea

Acceda a los elementos de la lista de matriz

1. Usando el método get ()
Para acceder aleatoriamente a elementos de una lista de matriz, utilizamos el get()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals= new ArrayList<>();
  5. // Add elements in the array list
  6. animals.add("Dog");
  7. animals.add("Horse");
  8. animals.add("Cat");
  9. System.out.println("ArrayList: " + animals);
  10. // Get the element from the array list
  11. String str = animals.get(0);
  12. System.out.print("Element at index 0: " + str);
  13. }
  14. }
Salida
ArrayList: [Perro, Caballo, Gato]
Elemento en el índice 0: Perro
2. Usando el método iterator ()
Para acceder secuencialmente a elementos de una lista de matriz, utilizamos el iterator()método Debemos importar el java.util.Iteratorpaquete para usar este método. Por ejemplo,
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. class Main {
  4. public static void main(String[] args){
  5. ArrayList<String> animals = new ArrayList<>();
  6. // Add elements in the array list
  7. animals.add("Dog");
  8. animals.add("Cat");
  9. animals.add("Horse");
  10. animals.add("Zebra");
  11. // Create an object of Iterator
  12. Iterator<String> iterate = animals.iterator();
  13. System.out.print("ArrayList: ");
  14. // Use methods of Iterator to access elements
  15. while(iterate.hasNext()){
  16. System.out.print(iterate.next());
  17. System.out.print(", ");
  18. }
  19. }
  20. }
Salida
ArrayList: perro, gato, caballo, cebra,
Nota :
  • hasNext()devuelve truesi hay un siguiente elemento en la lista de la matriz.
  • next() devuelve el siguiente elemento en la lista de la matriz

Cambiar elementos de ArrayList

Para cambiar los elementos de una lista de matriz, podemos usar el set()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals= new ArrayList<>();
  5. // Add elements in the array list
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("ArrayList: " + animals);
  10. // Change the element of the array list
  11. animals.set(2, "Zebra");
  12. System.out.println("Modified ArrayList: " + animals);
  13. }
  14. }
Salida
ArrayList: [Perro, Gato, Caballo]
ArrayList modificado: [Perro, Gato, Cebra]

Eliminar elementos de ArrayList

1. Usando el método remove ()
Para eliminar un elemento de una lista de matriz, podemos usar el remove()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals = new ArrayList<>();
  5. // Add elements in the array list
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("Initial ArrayList: " + animals);
  10. // Remove element from index 2
  11. String str = animals.remove(2);
  12. System.out.println("Final ArrayList: " + animals);
  13. System. out.println("Removed Element: " + str);
  14. }
  15. }
Salida
ArrayList inicial: [perro, gato, caballo]
Final ArrayList: [Perro, Gato]
Elemento eliminado: caballo

2. Usando el método removeAll ()
Para eliminar todos los elementos de una lista de matriz, utilizamos el removeAll()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals = new ArrayList<>();
  5. // Add elements in the ArrayList
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("Initial ArrayList: " + animals);
  10. // Remove all the elements
  11. animals.removeAll(animals);
  12. System.out.println("Final ArrayList: " + animals);
  13. }
  14. }
Salida
  1. Initial ArrayList: [Dog, Cat, Horse]
  2. Final ArrayList: []

3. Usando el método clear ()
También podemos usar el clear()método para eliminar todos los elementos de una lista de matriz. Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals= new ArrayList<>();
  5. // Add elements in the array list
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("Initial ArrayList: " + animals);
  10. // Remove all the elements
  11. animals.clear();
  12. System.out.println("Final ArrayList: " + animals);
  13. }
  14. }
Salida
ArrayList inicial: [perro, gato, caballo]
Lista final de matrices: []
Nota: El clear()método es más eficiente que el removeAll()método.

Recorrer una lista de matriz

1. Utilizando for loop
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. // Creating an array list
  5. ArrayList<String> animals = new ArrayList<>();
  6. animals.add("Cow");
  7. animals.add("Cat");
  8. animals.add("Dog");
  9. System.out.println("ArrayList: " + animals);
  10. // Using for loop
  11. System.out.println("Accessing individual elements: ");
  12. for(int i = 0; i < animals.size(); i++) {
  13. System.out.print(animals.get(i));
  14. System.out.print(", ");
  15. }
  16. }
  17. }
Salida
ArrayList: [Vaca, Gato, Perro]
Acceso a elementos individuales:
Vaca, gato, perro,

2. Usando el bucle forEach
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. // Creating an array list
  5. ArrayList<String> animals = new ArrayList<>();
  6. animals.add("Cow");
  7. animals.add("Cat");
  8. animals.add("Dog");
  9. System.out.println("ArrayList: " + animals);
  10. // Using forEach loop
  11. System.out.println("Accessing individual elements: ");
  12. for(String animal : animals) {
  13. System.out.print(animal);
  14. System.out.print(", ");
  15. }
  16. }
  17. }
Salida
ArrayList: [Vaca, Gato, Perro]
Acceso a elementos individuales:
Vaca, gato, perro,
En ambos ejemplos, hemos accedido a elementos individuales de una lista de matriz mediante bucles.

Obtener ArrayList Longitud

Para obtener la longitud de la lista de matriz, utilizamos el size()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals= new ArrayList<>();
  5. // Adding elements in the arrayList
  6. animals.add("Dog");
  7. animals.add("Horse");
  8. animals.add("Cat");
  9. System.out.println("ArrayList: " + animals);
  10. // getting the size of the arrayList
  11. System.out.println("Size: " + animals.size());
  12. }
  13. }
Salida
ArrayList: [Perro, Caballo, Gato]
Tamaño: 3

Ordenar elementos de una ArrayList

Para ordenar elementos de una lista de matriz, utilizamos el sort()método de la Collectionsclase. Para usarlo, java.util.Collectionsprimero debemos importar el paquete.
Por defecto, la clasificación se realiza alfabéticamente o numéricamente en orden ascendente. Por ejemplo,
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. class Main {
  4. public static void main(String[] args){
  5. ArrayList<String> animals= new ArrayList<>();
  6. // Add elements in the array list
  7. animals.add("Horse");
  8. animals.add("Zebra");
  9. animals.add("Dog");
  10. animals.add("Cat");
  11. System.out.println("Unsorted ArrayList: " + animals);
  12. // Sort the array list
  13. Collections.sort(animals);
  14. System.out.println("Sorted ArrayList: " + animals);
  15. }
  16. }
Salida
ArrayList sin clasificar: [Caballo, cebra, perro, gato]
Sorted ArrayList: [Gato, Perro, Caballo, Cebra]
Para obtener más información sobre la ordenación de la lista de matrices, visite Java ArrayList sort.

Java ArrayList To Array

En Java, podemos convertir listas de matrices en matrices utilizando el toArray()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals= new ArrayList<>();
  5. // Add elements in the array list
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("ArrayList: " + animals);
  10. // Create a new array of String type
  11. String[] arr = new String[animals.size()];
  12. // Convert ArrayList into an array
  13. animals.toArray(arr);
  14. System.out.print("Array: ");
  15. for(String item:arr) {
  16. System.out.print(item+", ");
  17. }
  18. }
  19. }
Salida
ArrayList: [Perro, Gato, Caballo]
Matriz: perro, gato, caballo,

Java Array to ArrayList

También podemos convertir matrices en listas de matrices. Para eso, podemos usar el asList()método de la Arraysclase.
Para usar asList()java.util.Arraysprimero debemos importar el paquete. Por ejemplo,
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Create an array of String type
  6. String[] arr = {"Dog", "Cat", "Horse"};
  7. System.out.print("Array: ");
  8. // Print array
  9. for(String str: arr) {
  10. System.out.print(str);
  11. System.out.print(" ");
  12. }
  13. // Create an ArrayList from an array
  14. ArrayList<String> animals = new ArrayList<>(Arrays.asList(arr));
  15. System.out.println("\nArrayList: " + animals);
  16. }
  17. }
Salida
Matriz: perro, gato, caballo
ArrayList: [Perro, Gato, Caballo]
En el programa anterior, primero creamos una matriz arrdel Stringtipo.
Luego convertimos la matriz en una lista de matriz usando el asList()método

Java ArrayList to String

Para convertir una lista de matriz en a String, podemos usar el toString()método Por ejemplo,
  1. import java.util.ArrayList;
  2. class Main {
  3. public static void main(String[] args) {
  4. ArrayList<String> animals = new ArrayList<>();
  5. // Add elements in the ArrayList
  6. animals.add("Dog");
  7. animals.add("Cat");
  8. animals.add("Horse");
  9. System.out.println("ArrayList: " + animals);
  10. // Convert ArrayList into an String
  11. String str = animals.toString();
  12. System.out.println("String: " + str);
  13. }
  14. }
Salida
ArrayList: [Perro, Gato, Caballo]
Cadena: [Perro, Gato, Caballo]
Nota: toString() convierte toda la lista de la matriz en una sola String.

sOtros métodos de ArrayList

MétodosDescripciones
clone()Crea una nueva lista de matriz con el mismo elemento, tamaño y capacidad.
contains()Busca en la lista de la matriz el elemento especificado y devuelve un resultado booleano.
ensureCapacity()Especifica el elemento total que puede contener la lista de matriz.
isEmpty()Comprueba si la lista de la matriz está vacía.
indexOf()Busca un elemento especificado en una lista de matriz y devuelve el índice del elemento.
trimToSize()Reduce la capacidad de una lista de matriz a su tamaño actual.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas