Documentos de Académico
Documentos de Profesional
Documentos de Cultura
es) - ArrayList
1 de 4
http://javiergarbedo.es/index.php/apuntes/31-arrays/130-arraylist
(/)
Buscar
La clase ArrayList forma parte del paquete java.util, por lo que hay que incluir en la parte inicial del
cdigo la importacin de ese paquete (import java.util.ArrayList;). Como siempre, desde NetBeans
se puede solucionar rpidamente desde el men contextual (clic derecho del ratn) del cdigo fuente,
escogiendo la opcin "Reparar importaciones".
19/03/2016 13:03
2 de 4
http://javiergarbedo.es/index.php/apuntes/31-arrays/130-arraylist
Con los arrayList tambin es posible insertar un elemento en una determinada posicin desplazando el
elemento que se encontraba en esa posicin, y todos los siguientes, una posicin ms.
Para ello, se emplea tambin el mtodo add (http://download.oracle.com/javase/6/docs/api/java
/util/ArrayList.html#add%28int,%20E%29) indicando como primer parmetro el nmero de la posicin
donde se desea colocar el nuevo elemento:
void add(int posicin, Object elementoAInsertar);
Ejemplo:
Si se quiere que un determinado elemento se elimine de la lista se puede emplear el mtodo remove al que
se le puede indicar por parmetro un valor int con la posicin a suprimir (http://download.oracle.com
/javase/6/docs/api/java/util/ArrayList.html#remove%28int%29), o bien, se puede especificar directamente
el elemento a eliminar (http://download.oracle.com/javase/6/docs/api/java
/util/ArrayList.html#remove%28java.lang.Object%29) si es encontrado en la lista.
Object remove(int posicin)
boolean remove(Object elementoASuprimir)
Se puede ver en el siguiente ejemplo los dos posibles usos:
19/03/2016 13:03
3 de 4
http://javiergarbedo.es/index.php/apuntes/31-arrays/130-arraylist
Es posible modificar un elemento que previamente ha sido almacenando en la lista utilizando el mtodo set
(http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html#set%28int,%20E%29). Como
primer parmetro se indica, con un valor int, la posicin que ocupa el elemento a modificar, y en el
segundo parmetro se especifica el nuevo elemento que ocupar dicha posicin sustituyendo al elemento
anterior.
Object set(int posicin, Object nuevoElemento)
Por ejemplo, si en el ejemplo de la lista de pases se desea modificar el que ocupe la posicin 1 (segundo en la
lista) por "Alemania":
La clase ArrayList facilita mucho las bsquedas de elementos gracias al mtodo indexOf
(http://download.oracle.com/javase/6/docs/api/java
/util/ArrayList.html#indexOf%28java.lang.Object%29) que retorna, con un valor int, la
posicin que ocupa el elemento que se indique por parmetro.
int indexOf(Object elementoBuscado)
Si el elemento se encontrara en ms de una posicin, este mtodo retorna la posicin del primero que se
encuentre. El mtodo lastIndexOf (http://download.oracle.com/javase/6/docs/api/java
/util/ArrayList.html#lastIndexOf%28java.lang.Object%29) obtiene la posicin del ltimo
encontrado.
Ejemplo que comprueba si Francia est en la lista, y muestra su posicin.
Es posible obtener cada uno de los elementos de la lista utilizando un bucle con tantas iteraciones como
elementos contenga, de forma similar a la empleada con los arrays convencionales. Para obtener el nmero
de elementos de forma automtica se puede emplear el mtodo size() (http://download.oracle.com
/javase/6/docs/api/java/util/ArrayList.html#size%28%29) que devuelve un valor int con el nmero de
elementos que contiene la lista.
Tambin se puede emplear el otro formato del bucle for en el que se va asignando cada elemento de la
lista a una variable declarada del mismo tipo que los elementos del ArrayList:
19/03/2016 13:03
4 de 4
http://javiergarbedo.es/index.php/apuntes/31-arrays/130-arraylist
(Como implementacin de la clase Collection, los ArrayList pueden recorrerse utilizando Iterator
(http://www.java2s.com/Code/Java/Collections-Data-Structure
/UsetheIteratorreturnedfromArrayListtoloopthroughanarraylist.htm))
(http://creativecommons.org/licenses
Ubrique (Cdiz)
(http://creativecommons.org
/licenses/by-nc-sa/3.0/es/)
(https://twitter.com
/javiergarbedo)
(https://plus.google.com
/+JavierGarc
%C3%ADaEscobedo_es)
(https://www.linkedin.
/in/javiergarciaescobe
/by-nc-sa/3.0/es/) .
Regresar arriba
19/03/2016 13:03