Cómo usar un ArrayList de Java

Cómo usar un ArrayList de Java / Programación

Una java Lista de arreglo es una matriz de tamaño general de tamaño variable. Proporciona la mayoría de las instalaciones generalmente esperadas de matrices en otros idiomas. Estos incluyen: acceder a elementos utilizando un índice, agregar, eliminar y actualizar elementos, redimensionar dinámicamente, iterar sobre los elementos, etc. La mayoría de estas operaciones se han modificado especialmente para uso general.

Hay algunos otros tipos de “matrices” (clases que implementan el Lista interfaz, para ser técnicos) que están destinados a fines especiales. Éstos incluyen:

  • Lista enlazada Soporta inserción y eliminación rápida en índices intermedios..
  • Vector es similar a un Lista de arreglo pero está sincronizado y es adecuado en lugar de un Lista de arreglo para aplicaciones multihilo.
  • Apilar admite operaciones para imitar una lista de último en entrar, primero en salir. Se extiende el Vector y por lo tanto se sincroniza.

Estas clases especiales están fuera del alcance de este artículo. Sin embargo, aprenderá cómo configurar y utilizar un Java ArrayList de propósito general.

Creando una ArrayList

Creando un Lista de arreglo es simple. Un vacío Lista de arreglo se puede crear utilizando el constructor sin argumentos. Aquí creamos un arrailista vacío para sujetar cuerdas..

Lista de arreglo alist = new ArrayList(); 

Si sabe cuántos elementos contendrá su lista de arreglos, puede especificar la capacidad inicial. Esta capacidad inicial es solo una sugerencia para la asignación de memoria: el arrailista no está restringido a contener el número especificado de elementos. Si conoce y especifica la capacidad inicial, podría Obtener una ligera mejora en el rendimiento..

Lista de arreglo alist = new ArrayList(20); 

Poblando una lista de Array

Agregar elementos al final

La población de un arraylist es bastante fácil. Solo usa el añadir() método para agregar un solo elemento al final del arraylist. Aquí hay un ejemplo:

Lista de arreglo alist = new ArrayList(); alist.add ("manzana"); alist.add ("banana"); alist.add ("melón"); alist.add ("naranja"); System.out.println (alist); # impresiones [manzana, plátano, melón, naranja] 

Para encontrar cuántos elementos hay en el arraylist, use el método tamaño().

System.out.println ("Número de elementos en el arraylist:" + alist.size ()); # imprime Número de elementos en el arraylist: 4

Adición de artículos a un índice especificado

¿Quieres agregar un artículo a un índice arbitrario? Especifique el índice como el primer argumento y el elemento se agregará a ese índice:

alist.add (3, "uvas"); System.out.println (alist); # impresiones [manzana, plátano, melón, uvas, naranja] 

Añadiendo un montón de artículos

También puede agregar elementos de cualquier colección en la Jerarquía de Colecciones Java. Un Lista de arreglo es un tipo específico llamado Lista. Aquí hay una manera de construir un Lista de un montón de artículos (usando Arrays.asList ()) y agregarlo a un Lista de arreglo.

Lista items = Arrays.asList ("pear", "cherry"); alist.addAll (elementos); System.out.println (alist); # impresiones [manzana, plátano, melón, uvas, naranja, pera, cereza] 

Por supuesto, puede especificar un índice como el primer argumento aquí para agregar los elementos que comienzan en ese índice.

Acceder a los artículos

Una vez que los elementos se han agregado al arraylist, ¿cómo podemos acceder a ellos nuevamente??

Acceso con un índice

Si conoce el índice del artículo, puede utilizar el obtener() Método para recuperar el elemento en ese índice.

Elemento de cadena = alist.get (2); System.out.println ("El elemento en el índice 2 es:" + elemento); El artículo # imprime en el índice 2 es: melón cantaloupe 

Encontrar artículos

¿Qué pasa si no sabes el índice del artículo? Puedes usar índice de() para comprobar si el elemento está presente en la matriz y recuperar el elemento utilizando el índice devuelto.

System.out.println (alist); índice de int = alist.indexOf ("naranja"); si < 0 ) System.out.println("Item \"orange\" not found"); else System.out.println("Item \"orange\" found at index " + index); # prints [apple, banana, cantaloupe, grapes, orange, pear, cherry] Item "orange" found at index 4 

¿Qué pasa si el elemento no está presente en el arraylist? los índice de() método devuelve -1 cuando el elemento no se encuentra.

index = alist.indexOf ("uva"); si < 0 ) System.out.println("Item \"grape\" not found"); else System.out.println("Item \"grape\" found at index " + index); # prints Item "grape" not found 

Iterando sobre un ArrayList

Por supuesto, el uso más común de un Lista de arreglo Está iterando sobre los elementos. Esto se puede lograr de varias maneras. Os mostramos un par de sencillos aquí..

Esta es la forma más simple de iterar sobre un arrailista y extraer los elementos para algún tipo de procesamiento.

para (String fruit: alist) System.out.println ("Frutas encontradas \" "+ fruit +" \ "");  # impresiones Fruta encontrada "manzana" Fruta encontrada "plátano" Fruta encontrada "melón" Fruta encontrada "uvas" Fruta encontrada "naranja" Fruta encontrada "pera" Fruta encontrada "cereza" 

Este código utiliza el Java Enhanced For-Loop que se introdujo en Java 1.5. Antes de eso, podría iterar sobre los elementos con un iterador. También se usa un iterador cuando se necesita retirar Elementos durante el proceso de iteración como se ilustra en el siguiente ejemplo. (Tenga en cuenta que hacemos una copia del arrailista y trabajamos en la copia).

Lista de arreglo blist = new ArrayList(una lista); para (Iterator iter = blist.iterator (); iter.hasNext ();) String fruit = iter.next (); if (fruit.startsWith ("c")) iter.remove (); else System.out.println ("Keeping" "+ fruit +" \ "");  # impresiones Mantener "manzana" Mantener "plátano" Mantener "uvas" Mantener "naranja" Mantener "pera" 

Reemplazo de artículos

Una vez que se agregan los elementos, necesitamos una manera de reemplazar los elementos no deseados. Eso se puede hacer usando el conjunto() método con un índice.

alist.set (5, "piña"); System.out.println (alist); # impresiones [manzana, plátano, melón, uvas, naranja, piña, cereza] 

Eliminando articulos

Veamos ahora cómo podemos eliminar elementos de un arraylist. Si conoce el índice del ítem (quizás usó índice de() descrito anteriormente), puede utilizar el retirar() Método con el índice. Devuelve el elemento eliminado..

Cadena de fruta = alist.remove (2); System.out.println ("Elemento eliminado en 2:" + fruta); # impresiones Elemento eliminado a las 2: melón 

También puede especificar el elemento para eliminar el primero Aparición del elemento en la lista. El método devuelve cierto si el elemento fue encontrado y eliminado.

fruta = "uvas"; System.out.println ("¿Desea eliminar" + fruta + "de la lista?" + Alist.remove (fruta)); # impresiones ¿Eliminar uvas de la lista? cierto 

Como estas usando el Lista de arreglo en tus proyectos y que problemas especiales has enfrentado? Por favor háznoslo saber en los comentarios más abajo.

Explorar más sobre: ​​Java.