Array list en java, con ejemplos jarroba

70
6/10/2015 ArrayList en Java, con ejemplos Jarroba http://jarroba.com/arraylistenjavaejemplos/ 1/70 ArrayList en Java, con ejemplos La clase ArrayList en Java, es una clase que permite almacenar datos en memoria de forma similar a los Arrays, con la ventaja de que el numero de elementos que almacena, lo hace de forma dinámica, es decir, que no es necesario declarar su tamaño como pasa con los Arrays. Para todos aquellos que hayáis estudiado en alguna asignatura las estructuras de datos de las Pilas, Colas, Listas, Arboles (AVL, B, B+, B*) etc. hay decir que los ArrayList “tiran por tierra” toda la teoria que hay detrás de esas estructuras de datos ya que los ArrayList nos permiten añadir, eliminar y modificar elementos (que pueden ser objetos o elementos atómicos) de forma trasparente para el programador. Antes de pasar a explicar el manejo de los ArrayList, dejamos un enlace al JavaDoc, pulsando AQUI (http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html). Antes de todo, decir que el código de todos los ejemplos que se ponen a continuación los podeis descargar pulsando AQUI (https://github.com/jarroba/ArrayList_Jarroba). Los principales métodos para trabajar con los ArrayList son los siguientes:

Transcript of Array list en java, con ejemplos jarroba

Page 1: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 1/70

ArrayList en Java, conejemplos

La clase ArrayList en Java, es una clase que permite almacenardatos en memoria de forma similar a los Arrays, con la ventaja de que elnumero de elementos que almacena, lo hace de forma dinámica, es decir,que no es necesario declarar su tamaño como pasa con los Arrays. Paratodos aquellos que hayáis estudiado en alguna asignatura las estructurasde datos de las Pilas, Colas, Listas, Arboles (AVL, B, B+, B*) etc. haydecir que los ArrayList “tiran por tierra” toda la teoria que hay detrás deesas estructuras de datos ya que los ArrayList nos permiten añadir,eliminar y modificar elementos (que pueden ser objetos o elementosatómicos) de forma trasparente para el programador. Antes de pasar aexplicar el manejo de los ArrayList, dejamos un enlace al JavaDoc,pulsando AQUI(http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html).

Antes de todo, decir que el código de todos los ejemplos que seponen a continuación los podeis descargar pulsando AQUI(https://github.com/jarroba/ArrayList_Jarroba).

Los principales métodos para trabajar con los ArrayList son lossiguientes:

Page 2: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 2/70

// Declaración de un ArrayList de "String". Puede ser de cualquier otro Elemento u Objeto (float, Boolean, Object, ...)ArrayList<String> nombreArrayList = new ArrayList<String>();// Añade el elemento al ArrayListnombreArrayList.add("Elemento");// Añade el elemento al ArrayList en la posición 'n'nombreArrayList.add(n, "Elemento 2");// Devuelve el numero de elementos del ArrayListnombreArrayList.size();// Devuelve el elemento que esta en la posición '2' del ArrayListnombreArrayList.get(2);// Comprueba se existe del elemento ('Elemento') que se le pasa como parametronombreArrayList.contains("Elemento");// Devuelve la posición de la primera ocurrencia ('Elemento') en el ArrayList nombreArrayList.indexOf("Elemento");// Devuelve la posición de la última ocurrencia ('Elemento') en el ArrayList nombreArrayList.lastIndexOf("Elemento");// Borra el elemento de la posición '5' del ArrayList nombreArrayList.remove(5); // Borra la primera ocurrencia del 'Elemento' que se le pasa como parametro. nombreArrayList.remove("Elemento");//Borra todos los elementos de ArrayList nombreArrayList.clear();// Devuelve True si el ArrayList esta vacio. Sino Devuelve False nombreArrayList.isEmpty(); // Copiar un ArrayList ArrayList arrayListCopia = (ArrayList) nombreArrayList.clone(); // Pasa el ArrayList a un Array Object[] array = nombreArrayList.toArray();

Otra cosa muy importante a la hora de trabajar con los ArrayListson los “Iteradores” (Iterator(http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html)). LosIteradores sirven para recorrer los ArrayList y poder trabajar con ellos.Los Iteradores solo tienen tres métodos que son el “hasNext()” paracomprobar que siguen quedando elementos en el iterador, el “next()” paraque nos de el siguiente elemento del iterador; y el “remove()” que sirvepara eliminar el elemento del Iterador.

Related Searches

Java Technology

Using Java

Java 5

Java Applications

Standard Edition

Sun Java

Java Classes

Java 6

Java Platform

Java EE

Related Searchby Sonic Train

Page 3: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 3/70

Bueno, si esto no te ha quedado muy claro, pasamos a poner elprimer ejemplo. En el siguiente fragmento de código, declaramos unArrayList de Strings y lo rellenamos con 10 Strings (Elemento i). Esto lohacemos con el método “add()”. Después añadimos un nuevo elemento alArrayList en la posición ‘2’ (con el metodo “add(posición,elemento)”) que lellamaremos “Elemento 3” y posteriormente imprimiremos el contenido delArrayList, recorriendolo con un Iterador. El fragmento de este código es elsiguiente:

// Declaración el ArrayListArrayList<String> nombreArrayList = new ArrayList<String>();

// Añadimos 10 Elementos en el ArrayListfor (int i=1; i<=10; i++) nombreArrayList.add("Elemento "+i);

// Añadimos un nuevo elemento al ArrayList en la posición 2nombreArrayList.add(2, "Elemento 3");

// Declaramos el Iterador e imprimimos los Elementos del ArrayListIterator<String> nombreIterator = nombreArrayList.iterator();while(nombreIterator.hasNext()) String elemento = nombreIterator.next(); System.out.print(elemento+" / ");

Ejecutando esta código obtenemos por pantalla lo siguiente:

Elemento 1 / Elemento 2 / Elemento 3 / Elemento 3 / Elemento 4 / Elemento 5 / Elemento 6 / Elemento 7 / Elemento 8 / Elemento 9 / Elemento 10 /

Como se observa en el resultado tenemos repetido el elemento“Elemento 3” dos veces y esto lo hemos puesto a proposito para mostrarel siguiente ejemplo. Ahora para seguir trabajando con los ArrayList, loque vamos ha hacer es mostrar el numero de elementos que tiene elArrayList y después eliminaremos el primer elemento del ArrayList y loselementos del ArrayList que sean iguales a “Elemento 3”, que por eso lohemos puesto repetido. El “Elemento 3” lo eliminaremos con el metodo“remove()” del iterador. A continuación mostramos el código que realiza lodescrito:

Uso de cookiesEste sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su

consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies (http://jarroba.com/faq/)

(http://jarroba.com/faq/)

ACEPTAR

Sonic Train Ads

Page 4: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 4/70

// Recordar que previamente ya hemos declarado el ArrayList y el Iterator de la siguiente forma:// ArrayList<String> nombreArrayList = new ArrayList<String>();// Iterator<String> nombreIterator = nombreArrayList.iterator();

// Obtenemos el numero de elementos del ArrayListint numElementos = nombreArrayList.size();System.out.println("nnEl ArrayList tiene "+numElementos+" elementos");

// Eliminamos el primer elemento del ArrayList, es decir el que ocupa la posición '0'System.out.println("n... Eliminamos el primer elemento del ArrayList ("+nombreArrayList.get(0)+")...");nombreArrayList.remove(0);

// Eliminamos los elementos de ArrayList que sean iguales a "Elemento 3"System.out.println("n... Eliminamos los elementos de ArrayList que sean iguales a "Elemento 3" ...");nombreIterator = nombreArrayList.iterator();while(nombreIterator.hasNext()) String elemento = nombreIterator.next(); if(elemento.equals("Elemento 3")) nombreIterator.remove(); // Eliminamos el Elemento que hemos obtenido del Iterator

// Imprimimos el ArrayList despues de eliminar los elementos iguales a "Elemento 3"System.out.println("nImprimimos los elementos del ArrayList tras realizar las eliminaciones: ");nombreIterator = nombreArrayList.iterator();while(nombreIterator.hasNext()) String elemento = nombreIterator.next(); System.out.print(elemento+" / ");

// Mostramos el numero de elementos que tiene el ArrayList tras las eliminaciones:numElementos = nombreArrayList.size();System.out.println("nNumero de elementos del ArrayList tras las eliminaciones = "+numElementos);

Como salida a este código tenemos lo siguiente:

Page 5: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 5/70

El ArrayList tiene 11 elementos

... Eliminamos el primer elemento del ArrayList (Elemento 1)...

... Eliminamos los elementos de ArrayList que sean iguales a "Elemento 3" ...

Imprimimos los elementos del ArrayList tras realizar las eliminaciones: Elemento 2 / Elemento 4 / Elemento 5 / Elemento 6 / Elemento 7 / Elemento 8 / Elemento 9 / Elemento 10 /

Numero de elementos del ArrayList tras las eliminaciones = 8

Si os fijais, hemos eliminado 3 elementos del ArrayList de dosformas distintas, preguntando por la posición que ocupa un elemento en elArrayList y preguntando por el contenido de algún elemento del ArrayList.Como se observa es muy importante saber manejar los Iteradores ya quecon ellos podemos tratar los elementos del ArrayList.

Bueno todo lo que hemos visto esta muy bien, pero por lo generallos ArrayList se suelen utilizar con objetos más que con estructurasatómicas de datos, ya que los ArrayList en Java son estructuras muypotentes y sencillas de manejar.

Ahora vamos a poner un ejemplo de la utilización de ArrayList conObjetos. Para ello nos vamos ha crear una clase llamada “PartidoFutbol”que utilizaremos para crearnos objetos de esa clase que almacenaremosen el ArrayList. En primer lugar mostramos la clase “PartidoFutbol” que esla siguiente:

Page 6: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 6/70

package ArrayList_Objetos;

public class PartidoFutbol

private String equipoLocal; private String equipoVisitante; private int golesLocal; private int golesVisitante;

public String getEquipoLocal() return equipoLocal;

public void setEquipoLocal(String equipoLocal) this.equipoLocal = equipoLocal;

public String getEquipoVisitante() return equipoVisitante;

public void setEquipoVisitante(String equipoVisitante) this.equipoVisitante = equipoVisitante;

public int getGolesLocal() return golesLocal;

public void setGolesLocal(int golesLocal) this.golesLocal = golesLocal;

public int getGolesVisitante() return golesVisitante;

public void setGolesVisitante(int golesVisitante) this.golesVisitante = golesVisitante;

Lo que vamos ha hacer ahora en este ejemplo, es leer desde unfichero de texto, una serie de partidos de fútbol que guardaremos en unArrayList de objetos “PartidoFutbol”. Al utilizar el ArrayList, nos da igual elnumero de partidos de fútbol que haya en el fichero de texto ya que los

Page 7: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 7/70

ArrayList como vimos al principio son dinámicos. Para este caso osadelante que hay 50 partidos de fútbol en el fichero, pero nos daria igualcuantos podría haber.

A continuación se muestra el código de la lectura de los partidosde fútbol y como los almacenamos en un ArrayList. Por curiosidad, unpartido de fútbol esta guardado en el fichero con la siguiente estructura:equipoLocal::equipoVisitante::golesLocal::golesVisitante

Page 8: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 8/70

// Nos creamos un ArrayList de objetos de la Clase "PartidoFutbol"System.out.println("... Nos creamos un ArrayList de objetos de la Clase "PartidoFutbol" ...");ArrayList<PartidoFutbol> partidos = new ArrayList<PartidoFutbol>();

// Instanciamos el fichero donde estan los datosFile fichero = new File(nombreFichero);Scanner s = null;

try // Leemos el contenido del fichero System.out.println("... Leemos el contenido del fichero ..."); s = new Scanner(fichero); // Obtengo los datos de los partidos de fútbol del fichero while (s.hasNextLine()) String linea = s.nextLine(); // Obtengo una linea del fichero (un partido de fútbol) String [] cortarString = linea.split("::"); // Obtengo los datos del partido de futbol PartidoFutbol partido = new PartidoFutbol(); // Creo un objeto de la clase "PartidoFutbol"

// Pongo los atributos al objeto "partido" partido.setEquipoLocal(cortarString[0]); partido.setEquipoVisitante(cortarString[1]); partido.setGolesLocal(Integer.parseInt(cortarString[2])); partido.setGolesVisitante(Integer.parseInt(cortarString[3]));

// Añadimos el objeto "partido" al ArrayList partidos.add(partido);

catch (Exception e) e.printStackTrace(); finally try if (s != null) s.close(); catch (Exception e2) e2.printStackTrace();

System.out.println("... Guardados "+partidos.size()+" partidos

Page 9: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 9/70

de fútbol ...");

Con este código que mostramos tambien se puede ver de queforma se puede leer un fichero de texto y tratar los datos . Una vezejecutado este código tenemos guardado en el ArrayList “partidos”, 50partidos de fútbol. Ahora recorremos el ArrayList con un Iterator ymostramos por pantalla todos los resultados de fútbol. Esto lo hacemosigual que antes, con el Iterator:

System.out.println("n... Resultados de los partidos de Futbol ...");Iterator<PartidoFutbol> itrPartidos = partidos.iterator();while(itrPartidos.hasNext()) PartidoFutbol partido = itrPartidos.next(); System.out.println(partido.getEquipoLocal() + " " + partido.getGolesLocal() + "‐" + partido.getGolesVisitante() + " " + partido.getEquipoVisitante());

Como salida a la ejecución de este código tenemos lo siguiente:

... Resultados de los partidos de Futbol ...Valencia 1‐0 BetisBetis 1‐0 OsasunaAtletico Madrid 0‐0 ZaragozaZaragoza 2‐2 ValenciaMallorca 0‐1 DeportivoDeportivo 1‐0 Atletico Madrid...Mallorca 1‐4 MalagaMalaga 0‐2 Atletico Madrid

Ahora vamos a eliminar del ArrayList, todos los partidos que notengan como resultado un empate. De esta forma trabajaremos de nuevocon el iterator. Esto lo hacemos de la siguiente forma:

Page 10: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 10/70

// Eliminamos los partidos de futbol del ArrayList, cuyo resultado// no sea un empateSystem.out.println("n... Tamaño del ArrayList antes de eliminar partidos de futbol = "+partidos.size()+" ...");System.out.println("n... Eliminamos los partidos de futbol cuyo resultado no sea un empate ...");itrPartidos = partidos.iterator();while(itrPartidos.hasNext()) PartidoFutbol partido = itrPartidos.next(); // Si los goles no son iguale, eliminamos el partido if(partido.getGolesLocal() != partido.getGolesVisitante()) itrPartidos.remove();

// Imprimimos los elementos del ArrayListSystem.out.println("n... Tamaño del ArrayList despues de eliminar partidos de futbol = "+partidos.size()+" ...");System.out.println("n... Resultados de los partidos de Futbol con empate ...");itrPartidos = partidos.iterator();while(itrPartidos.hasNext()) PartidoFutbol partido = itrPartidos.next(); System.out.println(partido.getEquipoLocal() + " " + partido.getGolesLocal() + "‐" + partido.getGolesVisitante() + " " + partido.getEquipoVisitante());

Como resultado al ejecutar este código tenemos lo siguiente, quecomo se observa el ArrayList solo se ha quedado con los partidos defútbol en los que ha habido un empate:

Page 11: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 11/70

... Tamaño del ArrayList antes de eliminar partidos de futbol = 50 ...

... Eliminamos los partidos de futbol cuyo resultado no sea un empate ...

... Tamaño del ArrayList despues de eliminar partidos de futbol = 16 ...

... Resultados de los partidos de Futbol con empate ...Atletico Madrid 0‐0 ZaragozaZaragoza 2‐2 ValenciaAlaves 0‐0 BarcelonaGetafe 1‐1 AthleticVillarreal 1‐1 SevillaBetis 0‐0 ZaragozaValencia 2‐2 DeportivoDeportivo 1‐1 BetisBarcelona 2‐2 ValenciaGetafe 1‐1 MallorcaMalaga 0‐0 AlavesCadiz 1‐1 VillarrealSevilla 0‐0 CadizZaragoza 1‐1 DeportivoBarcelona 2‐2 ZaragozaReal Sociedad 1‐1 Betis

Con esto ya hemos visto como manejar los ArrayList y hemosvisto los métodos mas importantes para ello. Con todo esto ya esta casitodo contado sobre los ArrayList en Java. Ahora solo queda coger solturay trabajar con ello.

Por último vamos a rizar el rizo y vamos a poner un ejemplo decomo trabajar con ArrayList de ArrayList. Para ello vamos ha hacer unejemplo que en principio puede parecer complejo pero que en realizar nolo es, solo es un poco lioso y hay que ir con cuidado. INTENTA HACERPOR TU CUENTA ESTE EJERCICIO ANTES DE MIRARLO, PORQUESI LO CONSIGUES HACER, NO HABRA TRABAJO CON ARRAYLISTQUE SE TE RESISTA

El ejercicio es el siguiente. Dado un fichero con una serie denúmeros, hay que eliminar todos los ceros que hay en el fichero, y si unalinea esta llena de ceros, hay que eliminar la linea. En este caso tenemosen el fichero el contenido siguiente:

Page 12: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 12/70

1 2 0 3 0 7 0 0 0 0 0 6 9 8 0 9 6 0 0 0 0 7 9 0 0 0 0 0 0 0 8 7 0 8 9 0 8

Y lo que hay que conseguir es trasformar esos datos en lossiguientes:

1 2 3 7 6 9 8 9 6 7 9 8 7 8 9 8

Es decir se eliminan todos los ceros y como las filas 2 y 5contienen todo ceros, se han de eliminar esas filas. Para ello nos tenemosque declarar un ArrayList de ArrayList de enteros de la siguiente forma:

ArrayList<ArrayList<Integer>> arrayListNumeros = new ArrayList<ArrayList<Integer>>();

Lo siguiente que haremos sera leer los números del fichero y noscrearemos por cada fila un ArrayList de enteros en el que guardaremoscada número en una posición del ArrayList y luego guardaremos eseArrayList en el ArrayList que hemos llamado “arrayListNumeros”. Esto lohacemos de la siguiente forma:

Page 13: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 13/70

// Instanciamos el fichero donde estan los datosFile fichero = new File(nombreFichero);Scanner s = null;

try // Leemos el contenido del fichero System.out.println("... Leemos el contenido del fichero ..."); s = new Scanner(fichero); // Obtengo los datos de los partidos de fútbol del fichero while (s.hasNextLine()) String linea = s.nextLine(); // Obtengo una linea del fichero con los numeros String [] cortarString = linea.split(" "); // Obtengo los numeros de la linea en un array ArrayList<Integer> numeros = new ArrayList<Integer>(); // Pongo los numeros de la fila en el ArrayList for (int i=0; i<cortarString.length; i++) numeros.add(Integer.parseInt(cortarString[i])); // Añado el ArrayList de enteros al ArratList de ArrayList arrayListNumeros.add(numeros);

catch (Exception e) e.printStackTrace(); finally try if (s != null) s.close(); catch (Exception e2) e2.printStackTrace();

Para comprobar que hemos copiado bien los datos y para recorrerel ArrayList de ArrayList de Enteros, vamos a imprimir por pantalla elcontenido del ArrayList y lo hacemos de la siguiente forma:

Page 14: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 14/70

// Para ver que hemos leido bien los numeros del fichero, recorremos el ArrayList de// ArrayList y lo mostramos por pantalla.System.out.println("n... Contenido de los ArrayList del ArrayList ...");Iterator<ArrayList<Integer>> itrArrayListNumeros = arrayListNumeros.iterator();while(itrArrayListNumeros.hasNext()) ArrayList<Integer> numeros = itrArrayListNumeros.next(); Iterator<Integer> itrNumeros = numeros.iterator(); while(itrNumeros.hasNext()) int numero = itrNumeros.next(); System.out.print(numero+" "); System.out.println();

Como salida tenemos el contenido del fichero.Ahora lo que vamos ha hacer es recorrer el ArrayList de ArrayList deEnteros, y eliminaremos de los ArrayList, todos los elementos que tengancomo contenido ‘0’. Esto lo hacemos de la siguiente forma:

// Recorremos los ArrayList que hay en el ArrayList y eliminamos los numeros que son ceroitrArrayListNumeros = arrayListNumeros.iterator();while(itrArrayListNumeros.hasNext()) ArrayList<Integer> numeros = itrArrayListNumeros.next(); Iterator<Integer> itrNumeros = numeros.iterator(); while(itrNumeros.hasNext()) int numero = itrNumeros.next(); if (numero == 0) itrNumeros.remove();

Ahora borramos del ArrayList, los ArrayLit que están vacíos,preguntando con el método “isEmpty()”. Esto lo hacemos de la siguienteforma:

Page 15: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 15/70

// Recorremos el ArrayList de los ArrayList y eliminamos los ArrayList que no// contengan elementositrArrayListNumeros = arrayListNumeros.iterator();while(itrArrayListNumeros.hasNext()) ArrayList<Integer> numeros = itrArrayListNumeros.next(); // Si el ArrayList esta vacio, lo eliminamos del ArrayList if (numeros.isEmpty()) itrArrayListNumeros.remove();

Con todo esto ya hemos eliminado los ceros, y los ArrayList queestaban vacíos. Ahora solo queda recorrer de nuevo el ArrayList deArrayList y mostrar el contenido tras realizar las eliminaciones de ceros.Esto lo hacemos de la siguiente manera:

// Mostramos el ArrayList tras eliminar todos los cerosString salida = "";System.out.println("n... Salida sin ceros ...");itrArrayListNumeros = arrayListNumeros.iterator();while(itrArrayListNumeros.hasNext()) ArrayList<Integer> numeros = itrArrayListNumeros.next(); Iterator<Integer> itrNumeros = numeros.iterator(); while(itrNumeros.hasNext()) int numero = itrNumeros.next(); salida += numero+" "; salida += "n";

System.out.println(salida);

Tras ejecutar este código, vemos que tenemos la salida esperada,que es la siguiente:

1 2 3 7 6 9 8 9 6 7 9 8 7 8 9 8

Con todo esto ya hemos visto prácticamente todo sobre losArrayList, con ejemplo de como tratarlos con elementos atómicos (String,int, float, double, …) y con objetos y sobre todo ver como se trabaja con

Page 16: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 16/70

ArrayList de ArrayList que como se ha visto la complejidad esta en saberrecorrer esa estructura de datos.

El código de todos estos ejemplos (junto con los ficheroscorrespondientes) los podeis descargar desde AQUI(https://github.com/jarroba/ArrayList_Jarroba).

Cualquier duda, no dudéis en preguntarla dejando un comentario.

Page 17: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 17/70

Recomendados

(http://jarroba.com/ordenarun

arraylistenjava/)

Ordenar un ArrayList en Java

(http://jarroba.com/ordenarun

arraylistenjava/)

(http://jarroba.com/interface

enjava8metododefaultcon

ejemplos/)

Interface en Java 8 Metodo

Default con ejemplos

(http://jarroba.com/interface

enjava8metododefaultcon

ejemplos/)

(http://jarroba.com/herencia

enlaprogramacionorientada

aobjetosejemploenjava/)

Herencia en Java, con

ejemplos

(http://jarroba.com/herencia

enlaprogramacionorientada

aobjetosejemploenjava/)

(http://jarroba.com/polimorfism

oenjavainterfaceparteii

conejemplos/)

Polimorfismo en Java

Interface (Parte II), con

ejemplos

(http://jarroba.com/polimorfism

oenjavainterfaceparteii

conejemplos/)

Load more posts

Comparte esta entrada en:

Page 18: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 18/70

(htt

ps://

plus

.goo

gle.

com

/sha

re?

url=

http

%3

A%

2F

%2

Fjar

rob

a.co

m%

2Fa

rrayl

ist

en

java

(htt

p://

ww

w.lin

kedi

n.co

m/s

har

eArt

icle

?

mini

=tru

e&u

rl=ht

tp%

3A

%2

F%

2Fja

rrob

a.co

m%

(htt

p://

ww

w.fa

ceb

ook.

com

/sha

re.p

hp?

u=ht

tp%

3A

%2

F%

2Fja

rrob

a.co

m%

2Fa

rrayl

ist

en

(htt

p://t

witt

er.c

om/

hom

e?

stat

us=

Arra

yLis

t+en

+Ja

va%

2C+

con

+eje

mpl

os

http

%3

A%

2F

(http://creativecommons.org/licenses/byncsa/3.0/es/)

(http://www.safecreative.org/userfeed/1401310112503)

ArrayList en Java, con ejemplos (http://jarroba.com/arraylistenjavaejemplos/) por "www.jarroba.com" esta bajo una licencia Creative

Commons ReconocimientoNoComercialCompartirIgual 3.0 Unported License.

Creado a partir de la obra en www.jarroba.com(http://jarroba.com/arraylistenjavaejemplos/)

85 comentarios sobre “ArrayList enJava, con ejemplos”

Daniel dice:

13/09/2015 a las 17:27 (http://jarroba.com/arraylistenjavaejemplos/#comment23646)

Que nombre recibe cada array list?

Por ejemplo el array list

0 6 9 8 0 9 6

para manipular solo este.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=23646#respond)

Ramón [Admin Jarroba] dice:

14/09/2015 a las 17:27 (http://jarroba.com/arraylistenjavaejemplos/#comment23691)

El nombre del ArrayList es el nombre de la variableque le pongas cuando lo asignas, como:

Page 19: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 19/70

eje

mpl

os%

2F)

2Fa

rrayl

ist

en

java

eje

mpl

os%

2F&

title

=Arr

ayLi

st+e

n+J

ava

%2

C+c

on+

eje

mpl

os&

sour

java

eje

mpl

os%

2F&

t=Ar

rayL

ist+

en+

Jav

a%

2C+

con

+eje

mpl

os )

%2

Fjar

rob

a.co

m%

2Fa

rrayl

ist

en

java

eje

mpl

os%

2F)

ArrayList miNombreDeMiArrayList = newArrayList();

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=23691#respond)

Laura dice:

09/09/2015 a las 06:42 (http://jarroba.com/arraylistenjavaejemplos/#comment23434)

Hola!!

Yo tengo una duda, si pueden ayudarme me harian feliz…

Realice mi ArrayList, pero este recibe una clase con 3atributos String les di valores son los set y los almaceno en elArrayList pero quiero que se guarden mas de un registro y memuestre los 3 atributos de cada casilla del Array, pero no se comose realiza.. realice que me mostrara los atributos y si los muestrapero solo del ultimo registro que meti, y los anteriores no losmuestra…

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=23434#respond)

Ramón [Admin Jarroba] dice:

12/09/2015 a las 17:37 (http://jarroba.com/arraylistenjavaejemplos/#comment23608)

Puedes hacer un arrayList de objetos que contengan3 Strings (o los que quiereas)

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=23608#respond)

Page 20: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 20/70

ce=j

arro

ba.c

om)

josep dice:

10/08/2015 a las 11:00 (http://jarroba.com/arraylistenjavaejemplos/#comment21871)

buenas, tengo un arraylist con provincias y esas provinciastienen longitudes de localidades y quiero hacer un hash map, deCLAVE la provincia y de VALOR la suma de las longitudes de cadaprovincia, como podria hacerlo?

espero que me podais ayudar, muchas gracias.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=21871#respond)

Ramón [Admin Jarroba] dice:

11/08/2015 a las 17:52 (http://jarroba.com/arraylistenjavaejemplos/#comment21923)

Tienes como se hace en http://jarroba.com/mapenjavaconejemplos/ (http://jarroba.com/mapenjavaconejemplos/)

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=21923#respond)

josep dice:

12/08/2015 a las 12:18 (http://jarroba.com/arraylistenjavaejemplos/#comment21962)

si pero no viene como puedo sumar los valoresde una misma provincia, necesito vuestra ayudagracias.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=21962#respond)

Page 21: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 21/70

Ramón [Admin Jarroba] dice:

12/08/2015 a las 18:21(http://jarroba.com/arraylistenjavaejemplos/#comment21999)

No entiendo tu pregunta entonces: siquieres un HashMap donde se guarda una claveque es la provincia y una clave que es ladistancia, no vas a tener nunca repetidas variasprovincias (HashMap no permite repetir claves);por otro lado, si lo que quieres es modificar unvalor simplemente obtenlo, sumale lo que sea ysobrescríbelo.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=21999#respond)

Isaac dice:

29/06/2015 a las 17:42 (http://jarroba.com/arraylistenjavaejemplos/#comment19785)

Buenas amigo, resulta que tengo una lista de numeros2,3,5,8,9,12,15 quisiera buscar el menor numero faltante por ejemploLista 2,3,4,6,7,8,9 (Falta el 1 y el 5) el numero menor faltante seria el1Lista 1,2,3,4,6,7,10(Faktab ek 5,8 y 9) el numero menor faltanteseria el 5

como haría para saber cual falta?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=19785#respond)

Ramón [Admin Jarroba] dice:

01/07/2015 a las 19:57 (http://jarroba.com/arraylistenjavaejemplos/#comment19879)

Page 22: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 22/70

Tienes muchas maneras de enfocarlo. Suponiendoque el número menor sea siempre el 1, podrías realizar unaordenación de la lista y luego empezando desde el númeromás pequeño empezar a buscar por un número que falte.Para ello podrías tener un auxiliar que se incremente en 1 porcada número visitado, compararías el número del auxiliar conel número que estás viendo en ese momento; en caso dediferencia el número actual del auxiliar es el más pequeño

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=19879#respond)

Sergio dice:

11/06/2015 a las 03:27 (http://jarroba.com/arraylistenjavaejemplos/#comment18435)

Disculpa tengo un arrayList de objetos pero a la hora deimprimir me manda datos extraños como por ejemplo @72006539 loestoy llenando de una BD. Tendrían alguna recomendación parasolucionar este error.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=18435#respond)

Ramón [Admin Jarroba] dice:

11/06/2015 a las 21:22 (http://jarroba.com/arraylistenjavaejemplos/#comment18540)

Lo que te ocurre es que estás imprimiendo objetos talcual. En Java no existe el vardump como en otros lenguajes(como PHP), así que tendrás que recorrer cada objeto e irimprimiendo cada texto que quieras imprimir

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=18540#respond)

Page 23: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 23/70

Raul dice:

02/06/2015 a las 19:01 (http://jarroba.com/arraylistenjavaejemplos/#comment17777)

Buenas, tego un problemilla que me esta comiendo lacabeza

Lo que quiero agregar a mi ArrayList son objetos que tienenuna posicion x,y en pantalla y una imagen/icono cualquiera… pero,o no interprete bien algo, o no se… no logro resolver comoagregarlos. Es decir, tengo mi clase (por ej.) Armas, las cualestienen un x e y y una imagen, creo mi arraylist del tipo Armas, peromi problema llega al querer agregar las armas con la posicion, etc

HELP?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=17777#respond)

Ramón [Admin Jarroba] dice:

02/06/2015 a las 20:27 (http://jarroba.com/arraylistenjavaejemplos/#comment17790)

Hola Raul,

Si tienes la clase (escribo seudocódigo)

class arma

int x;

int y;

Imagen img;

Page 24: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 24/70

//Setter y getters…

Simplemente intanciala, añadele los valores y añádelaal listado:

Arma arma = new Arma();

arma.setX(100);

arma.setY(200);

arma.setImg(imagen);

ArrayList armas = new ListView();

armas.add(arma);

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=17790#respond)

Eduardo dice:

27/05/2015 a las 22:29 (http://jarroba.com/arraylistenjavaejemplos/#comment17379)

Hola, excelente post, estaba estudiando por curiosidad elcódigo de el Algoritmo de Kruskal para java que encontré en lawikipedia y me di cuenta que trabaja con ArrayList… me pudieranexplicar más a fondo como funciona?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=17379#respond)

Page 25: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 25/70

Ramón [Admin Jarroba] dice:

29/05/2015 a las 15:07 (http://jarroba.com/arraylistenjavaejemplos/#comment17470)

Hola. ¿Necesitas que te expliquemos el ArrayList o elalgoritmo de Krukal?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=17470#respond)

aleja dice:

11/05/2015 a las 20:12 (http://jarroba.com/arraylistenjavaejemplos/#comment16641)

Object[] objeto=new Object[helados.size()]; for (int i = 0; i < objeto.length; i++) objeto[i]=((cremas)helados.get(i)).getsabor(); Objectseleccionarsabor =JOptionPane.showInputDialog(null, "que sabordesea:","sabor",JOptionPane.QUESTION_MESSAGE,null,objeto,null);

como para cuando escoja un sabor me muestra la posiciondel sabor en la lista ?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=16641#respond)

Ramón [Admin Jarroba] dice:

Page 26: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 26/70

11/05/2015 a las 21:06 (http://jarroba.com/arraylistenjavaejemplos/#comment16645)

No entiendo que quieres hacer. Si quieres parar elbucle mejor utiliza un while y así tendrás exactamente laposición cuando la encuentres.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=16645#respond)

Willy dice:

08/04/2015 a las 17:42 (http://jarroba.com/arraylistenjavaejemplos/#comment14753)

Este post esta buenazo, Sinembargo tengo un duda, sitengo un ArrayList<Solicitud> en un metodo añado lassolicitudes(elementos del arrayList), pero en otro metodo modificoun elemento de ese ArrayList y lo que deseo es que guarde elobjeto del ArrayList modificado y no que cree otro, es posible?tendrán un ejemplito de ello?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=14753#respond)

Jurgen Ramirez dice:

04/04/2015 a las 23:02 (http://jarroba.com/arraylistenjavaejemplos/#comment14588)

Me parece excelente la explicación, pero tengo un duda sitengo un ArrayList<BotonCarta> de manera global y en un metodoañado las cartas(elementos del arrayList) pero en otro metodo debomodificar un elemento de ese ArrayList y que se vea reflejadoglobalmente es como decirle al Array que guarde el objetomodificado y no que cree otro y lo guarde es posible?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=14588#respond)

Page 27: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 27/70

Ramón [Admin Jarroba] dice:

04/04/2015 a las 23:38 (http://jarroba.com/arraylistenjavaejemplos/#comment14591)

Hola Jurgen. Si creas una variable global con unlistado, todo lo que modifiques en ésta será vista lamodificación por todo aquel quien le llame.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=14591#respond)

WALTER dice:

17/03/2015 a las 16:18 (http://jarroba.com/arraylistenjavaejemplos/#comment13086)

Hola muy interesante post. quiero consultarles si es posibleutilizar ArrayList para hacer comparaciones entre 2 ArrayList de tipoobject, en general va a contener cadenas , fechas.

Esta consulta parte de la idea de comparar 2 tablas de datosy obtener las diferencias x cada campo comparado.

espero me deje entender.

gracias

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=13086#respond)

Ramón [Admin Jarroba] dice:

24/03/2015 a las 17:19 (http://jarroba.com/arraylistenjavaejemplos/#comment13795)

Page 28: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 28/70

Sí se puede realizar comparaciones de ArrayList deobjetos con compareTo. Tienes un ejemploen http://jarroba.com/ordenarunarraylistenjava/

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=13795#respond)

jaime dice:

04/03/2015 a las 18:38 (http://jarroba.com/arraylistenjavaejemplos/#comment11484)

Excelente Post !, quedó todo clarísimo.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11484#respond)

José Rodríguez dice:

04/03/2015 a las 03:25 (http://jarroba.com/arraylistenjavaejemplos/#comment11376)

Tengo un problema con la agregación o impresión de unarrayList, lo que sucede es que cuando le agrego mas de unelemento a mi arrayList de objetos y le doy imprimir me bota porpantalla el todos los nodos del arrayList con el ultimo que le agreguecomo si los antesesoroes del ultimo tomaran su valor, no sé si esque estoy agregando mal o imprimiendo mal graciasAhí va mi codigo

import java.util.*;

public class Acciones

static ArrayList obj = new ArrayList();Objetos banda = new Objetos(); // es donde se encuentran losobjetos con su get/ set(para cada uno) constructores necesarios

Page 29: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 29/70

public void agregar(String bateria, String guitarra, Stringbajo, String microfono) banda.setBateria(bateria);banda.setGuitarra(guitarra);banda.setBajo(bajo);banda.setMicrofono(microfono);if(obj.add(banda))System.out.println(“\nTu banda es una realidad\n”);mostrar();elseSystem.err.println(“\nTu banda no es una realidad\n”);

public void mostrar() Iterator itrband = obj.iterator();while (itrband.hasNext()) Objetos banda = itrband.next();System.out.println(“El bateriasta es: ” + banda.getBateria());System.out.println(“El guitarrista es: ” + banda.getGuitarra());System.out.println(“El bajista es: ” + banda.getBajo());System.out.println(“El vocalista es: ” + banda.getMicrofono() + “\n”);

public class Main

public static void main(String[] args) Scanner leer = new Scanner(System.in);Acciones act = new Acciones();int opcion;do System.out.println(” Crea tu banda”);System.out.print(“Ingrese un baterista: “);String batero = leer.next();System.out.print(“Ingrese un guitarrista: “);String guitar = leer.next();System.out.print(“Ingrese un bajista: “);String bajo = leer.next();

Page 30: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 30/70

System.out.print(“Ingrese un vocalista: “);String vocal = leer.next();act.agregar(batero, guitar, bajo, vocal);System.out.println(“¿Desea crear otra banda? \n 1.Si\t 2.No”);opcion = leer.nextInt(); while (opcion == 1);act.mostrar();

Y aqui va como imprimeCrea tu bandaIngrese un baterista: carmineIngrese un guitarrista: jeffIngrese un bajista: bullyIngrese un vocalista: tony

Tu banda es una realidad

El bateriasta es: carmineEl guitarrista es: jeffEl bajista es: bullyEl vocalista es: tony

¿Desea crear otra banda?1.Si 2.No1Crea tu bandaIngrese un baterista: elIngrese un guitarrista: tuIngrese un bajista: yoIngrese un vocalista: ella

Tu banda es una realidad

El bateriasta es: elEl guitarrista es: tuEl bajista es: yoEl vocalista es: ella

Page 31: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 31/70

El bateriasta es: elEl guitarrista es: tuEl bajista es: yoEl vocalista es: ella

¿Desea crear otra banda?1.Si 2.No2El bateriasta es: elEl guitarrista es: tuEl bajista es: yoEl vocalista es: ella

El bateriasta es: elEl guitarrista es: tuEl bajista es: yoEl vocalista es: ellaEspero que me pueda ayudar con eso gracias

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11376#respond)

Ramón [Admin Jarroba] dice:

04/03/2015 a las 15:39 (http://jarroba.com/arraylistenjavaejemplos/#comment11469)

El ArrayList guarda un puntero a cada objeto. Cuandoagregas una nueva banda, lo que haces es reutilizar elpuntero del objeto anterior, por lo que al final el ArrayListtienes un montón de punteros apuntando al mismo objeto, deahí que te salgan todos iguales.Para que quede más claro, te recomiendo que nombres mejoral “Objeto” como “Banda” y al ArrayList “obj” como “bandas”(un List siempre en plural, ya que guarda varios objetos).Quedando:Banda banda = new Banda();

static ArrayList bandas = new ArrayList();

De cualquier manera cada objeto banda se ha de crear cada

Page 32: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 32/70

vez que queramos añadirlo a la lista de bandas, por lo que enel método “agregar()” tienes que hacer el Banda banda = newBanda(); y no como global

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11469#respond)

José Rodríguez dice:

04/03/2015 a las 16:42 (http://jarroba.com/arraylistenjavaejemplos/#comment11473)

Muchas gracias, la verdad yo lo había hechouna vez como el problema que plantee y mefuncionaba, pero bueno no importa, ahora si mefunciona como usted me lo acabo desugerir, gracias mesirvió mucho

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11473#respond)

José Rodríguez dice:

04/03/2015 a las 16:59 (http://jarroba.com/arraylistenjavaejemplos/#comment11475)

Pero no entiendo porque poniendo a Bandabanda = new Banda(); como global es distinto queponerla dentro de un metodo

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11475#respond)

Ramón [Admin Jarroba] dice:

05/03/2015 a las 15:41(http://jarroba.com/arraylistenjavaejemplos/#comment11609)

Si la pones como global, solo se crea laprimera vez que se crea el objeto que hasllamado “Acciones”. Si la pones dentro del

Page 33: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 33/70

método, se crea cada vez que se llama almétodo.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=11609#respond)

camilo dice:

19/02/2015 a las 11:40 (http://jarroba.com/arraylistenjavaejemplos/#comment10583)

Hola chicos, antes que nada agradezco su inmensa ayuda,sus web es simplemente genial, gracias.

una duda!

debo crear un ArrayList, y debo limitarlo, es decir introduciruna cantidad de datos hasta llegar a la posición 50.¿Existe unmétodo para definir el tamaño del ArrayList?

había pensado algo así:(…)método introducirDatos (String dato)

if (nombreArrayList.size()<50) nombreArrayList.add("dato");elseSystem.out.println ("no se ingresaron los datos")(…)

Gracias por su ayuda!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=10583#respond)

Page 34: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 34/70

Richard [Admin Jarroba] dice:

19/02/2015 a las 14:17 (http://jarroba.com/arraylistenjavaejemplos/#comment10590)

Hola camilo.Para hacer lo que comentas debes de utilizar un array no unarraylist ya que necesitas una estructura de datos estatica yque no exceda de 50 posiciones.

Si el tamaño de un arraylist se puede limitar no lo se,pero no es la finalidad de un arraylist que se limite ya que sufinalidad es exactamente la contraria, la que puedas insertar ymanipular elementos sin importar el número de ellos (siempreobviamente que quepan en memoria )SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=10590#respond)

camilo dice:

19/02/2015 a las 15:48 (http://jarroba.com/arraylistenjavaejemplos/#comment10593)

Gracias por responder!

necesitaba la aclaración, estoy en un curso deprogramación y nos han pedido en un ejercicio usararraylist, pero no debe exceder los 50 datos , en fin, mequedó claro, muchas gracias

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=10593#respond)

Rodolfo dice:

03/01/2015 a las 00:50 (http://jarroba.com/arraylistenjavaejemplos/#comment3798)

Page 35: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 35/70

Excelente manual de ArrayList.Espero les sirva mi comentario; Les recomiendo un buen curso deJava http://www.grupocodesi.com/cursos/cursodejavabasico.html(http://www.grupocodesi.com/cursos/cursodejavabasico.html) Elcurso es 100% práctico la verdad aprendi mucho y lo recomiendo ycon este manul de arraylist, super bien !!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=3798#respond)

JImmy dice:

27/12/2014 a las 02:27 (http://jarroba.com/arraylistenjavaejemplos/#comment3189)

Excelente post! me han aclarado muchas dudas, aunquequeda una y es la siguiente:

has usado iterator para recorrer un ArrayList de ArrayList y,aunque he tratado de enterderle lo mejor posible, quisiera saber sise puede recorrer/obtener los datos de un arraylist de arraylist siniterator?

Por ejemplo, como se hace en un arrayList simple, con unciclo for(i=0; i<miarraylist.size(); i++)….

Agradeceria muchisimo su ayuda. Y, de nuevo, Gracias porcompartir este buen post!!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=3189#respond)

Richard [Admin Jarroba] dice:

27/12/2014 a las 11:36 (http://jarroba.com/arraylistenjavaejemplos/#comment3230)

Page 36: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 36/70

Hola Jimmy.Si que se puede recorrer un ArrayList sin el iterador y eso sehace con un “foreach”. Si por ejemplo tuvieses un ArrayListde Strings, tendrias que recorrer el ArrayList de la siguienteforma:

ArrayList<String> nombreArrayList = new

ArrayList<String>()

nombreArrayList.add("Primero");

nombreArrayList.add("Segundo");

.......

.......

for(String elemento: nombreArrayList)

System.out.println(elemento)

Como resultado se imprime por pantalla cadaelemento del ArrayList.Dentro del “for” (que se comporta como un “foreach”) yapuedes tratar el objeto del ArrayList. En este caso el elementoes de la Clase “String” pero puede ser cualquier otro comopor ejemplo de la clase “PartidoFutbol” como en el ejemploque hemos puesto. Para recorrer por ejemplo un ArayList deobjetos de la clase “PartidoFutbol” se recorrería de lasiguiente forma:

for(PartidoFutbol partido: partidos)

// Aqui hacer lo que sea con el objeto "partido"

Espero que te haya ayudado con la respuesta ya quetu pregunta ha sido muy buena porque se me pasó explicarcomo recorrer un ArrayList con un “foreach”Muchas Gracias por tu pregunta.SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=3230#respond)

Page 37: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 37/70

JImmy dice:

28/12/2014 a las 05:26 (http://jarroba.com/arraylistenjavaejemplos/#comment3291)

Gracias por responder tan rapido.. La ultimaduda (espero haha): Es posible hacer lo del ForEachpero con un ArrayList Multidimensional?

Te pregunto por el siguiente problema:

He guardado un ArrayList dentro de otroArrayList (ArrayList multidimensional) pero ahora quieroobtener los primeros datos de cada ArrayList interno,es posible hacer esto:

miArrayListMulti.get(0).get(1);

o si fuera dentro de dos for:

miArrayListMulti.get(i).get(j);

suponiendo que “i” es la variable del for externoy “j” del for interno..

Es posible hacer esto??

No creas que no estoy haciendo pruebas, peroes mejor preguntar a alguien que sabe para que puedacorregirme o dar alguna indicacion.. por eso pregunto

Gracias de antemano. Saludos!!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=3291#respond)

Page 38: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 38/70

Richard [Admin Jarroba] dice:

28/12/2014 a las 17:03(http://jarroba.com/arraylistenjavaejemplos/#comment3327)

Hola Jimmy.Claro que se puede recorrer así también y de lasiguiente forma (suponiendo que“miArrayListMulti” sea un ArrayList>):

for(int i=0; i<miArrayListMulti.size();

i++)

for(int j=0;

j<miArrayListMulti.get(i).size(); j++)

// Aqui accedes al objeto del ArrayList

miArrayListMulti.get(i).get(j);

Si te surge alguna duda más de caráctermás general puedes preguntar a través del foro(http://jarroba.com/foro/ (http://jarroba.com/foro/))SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=3327#respond)

Jorge Meza dice:

16/10/2014 a las 02:21 (http://jarroba.com/arraylistenjavaejemplos/#comment836)

Excelente blog, muy bien explicado.Mi pregunta:Sucede que al usar el método para ingresar un objeto al arrayList,me esta sobrescribiendo todo el arreglo con la ultima entrada. eintentado asignando la posición a cada entrada, pero aun así losigue haciendo.

Page 39: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 39/70

Un bloque del Código:

ArrayList listaProcesos = new ArrayList(); // ArrayListcreado con el tipo de la claseprivate int nProcesos = 0; //Numero de objetos creados yguardados en el ArrayList, esta misma variable maneja la posicionen la que se guarda el objeto en el ArrayList

// Este metodo se encarga de crear el objeto y guargalo enel ArrayList.

public void iniciar(String nombre, int prioridad, doublequantum, double useP,String user,int estado, int pos)Proceso lista = newProceso(nombre,prioridad,quantum,useP,user,estado,pos);

listaProcesos.add(pos,lista);

JOptionPane.showMessageDialog(null, “Posicion:“+String.valueOf(nProcesos));

lista = null;

iniciar(“Calculadora”, 1, 0.2, 10, “/”, 0, nProcesos); //Llamados al metodo anterior y le enviamos los parametrosnProcesos ++;iniciar(“Paint”, 2, 0.2, 10, “/”, 0, nProcesos);nProcesos ++;——————————————————————

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=836#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:

Page 40: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 40/70

18/10/2014 a las 17:03 (http://jarroba.com/arraylistenjavaejemplos/#comment837)

Es como si no se modificara la posición y por tanto sesobrescribe la actual. Prueba sin pos, es decir:listaProcesos.add(lista). Para las posiciones casi mejor queutilices un HashMap, donde la key sea el id (puede ser tu id).

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=837#respond)

Jorge Meza dice:

20/10/2014 a las 00:41 (http://jarroba.com/arraylistenjavaejemplos/#comment838)

Ok viejo Gracias por responder. Intentare comotu dices si algo te escribo.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=838#respond)

Jan dice:

24/09/2014 a las 09:51 (http://jarroba.com/arraylistenjavaejemplos/#comment835)

chicos! me han sacado varias veces de muchos apuros!Gracias =)buen trabajo ;D

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=835#respond)

David Rodríguez dice:

12/09/2014 a las 06:59 (http://jarroba.com/arraylistenjavaejemplos/#comment832)

Page 41: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 41/70

Excelente entrada, me ha servido mucho.. Pero unapregunta. ¿Hay una manera eficiente de “resetear” un iterador? ¿Otengo que crear otro para volver a iterar una Array List? Intenté lasegunda pero no me funciono, al imprimir me muestra el últimoelemento de la lista.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=832#respond)

Richard [Admin Jarroba]

(http://www.jarroba.com) dice:12/09/2014 a las 08:24 (http://jarroba.com/arraylistenjavaejemplos/#comment833)

Hola David. Fijate en el segundo y tercer fragmento decódigo como en el segundo instancio el iterator llamado“nombreIterator” y en el tercer fragmaneto de código vuelvo autilizar el mismo iterator (“nombreIterator =nombreArrayList.iterator();”).

Espero que esto te sirva de ayuda.

SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=833#respond)

Bor dice:

23/08/2014 a las 10:54 (http://jarroba.com/arraylistenjavaejemplos/#comment824)

A mi en ArrayList me da el error “The type ArrayList is notgeneric; it cannot be parameterized with arguments “.

No he encontrado ninguna solución en internet. Tengo unaversión de JRE superior a la 1.5, el Eclipse más actual…

Page 42: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 42/70

Probando a importart otras clases, la de “java.util.ArrayList”me da el error “The import java.util.ArrayList conflicts with a typedefined in the same file”.

No tengo ni idea de qué más puedo hacer y no hay idiomaen que me den solución. ¿Alguna idea maravillosa?

Muchas gracias.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=824#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:23/08/2014 a las 12:22 (http://jarroba.com/arraylistenjavaejemplos/#comment825)

Hola Bor,

Aunque tengas instalada la versión superior a la 1.4de Java, posiblemente el proyecto de Elcipse esté utilizandouna versión más antigua para compilar y hay que cambiarla.Lo primero es que instales la última versión del JDK de Java,a la 1.8, enhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8downloads2133151.html(http://www.oracle.com/technetwork/java/javase/downloads/jdk8downloads2133151.html).

Una vez descargado vete en Eclipse sobre tuproyecto botón derecho y selecciona “Properties”. En laventana que se abre en la columna de la izquierda selecciona“Java Build Path” y en la pestaña “Libraries” selecciona lalibrería JRE que hay y pulsa “Edit…” comprueba que si estáseleccionado “Workspace default JRE” ponga entreparéntesis jre1.5_xx o superior. De no ser así selecciona“Alternate JRE” y busca la instalación de Java (en la otraventana que se abre pulsa “Add…” y cuando la añadas marcasu casilla) que tienes más moderna (al ser posible la 1.8).

Page 43: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 43/70

Volvemos a las “Properties” y en la columna de laizquierda seleccionamos “Java Compiler”. En esta partecomprobamos que donde pone “Compiler compliance level”marque 1.5 o mayor (al ser posible 1.8), la elegimos para quefuncione (si no te deja seleccionar, marca la casilla “Enableproject specific settings”).

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=825#respond)

Bor dice:

24/08/2014 a las 18:02 (http://jarroba.com/arraylistenjavaejemplos/#comment826)

Nada, no hay manera. Sigue dando los mismoserrores.

Gracias igualmente por la ayuda y la respuestarápida, aunque no sé muy bien qué hacer ahora.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=826#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:24/08/2014 a las 20:24(http://jarroba.com/arraylistenjavaejemplos/#comment827)

Puedes pasarme el código y le echo unvistazo, por si fuera algo de la implementación.Aunque por el error me inclino más por laconfiguración de Java, prueba a descargarte denuevo Eclipse Luna y mira a ver.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=827#respond)

Bor dice:

Page 44: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 44/70

26/08/2014 a las 06:58(http://jarroba.com/arraylistenjavaejemplos/#comment828)

Tengo todo lo nuevo reciéninstalado, por eso no termino de entenderpor qué tanto lío.

El error se quita si lo dejo como“ArrayList nombreArrayList = newArrayList();”. Pero claro, así tampocopuedo utilizarlo como quiero.

Yo también asumo que es algúnproblema de configuración (a fin decuentas, el código era copiar y pegar delvuestro), pero he tocado ya unas cuantascosas y todavía no he conseguidoarreglarlo.

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:27/08/2014 a las 20:27(http://jarroba.com/arraylistenjavaejemplos/#comment829)

Prueba a llamar a algún método delArrayList, por ejemplo al de add() paraañadir. Aunque sea un error deconfiguración así descartamoscompletamente que se haya copiado algúncarácter que provoque el error.

Bor dice:

28/08/2014 a las 06:32(http://jarroba.com/arraylistenjavaejemplos/#comment830)

Page 45: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 45/70

No, no parece ser el problema.

Pero he descubierto que tambiénme da problemas con los maps. Cualquierfunción del iteratoro los hasnext() porejemplo, los reconoce como error.

Supongo que el problema de todoestá en algún fallo de configuración, peroempiezo a tener la sensación de que elprograma tampoco pretende hacermemucho caso.

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:28/08/2014 a las 19:43(http://jarroba.com/arraylistenjavaejemplos/#comment831)

Otra cosa que puedes probar escon otro IDE como NetBeans, o compilarlodirectamente con línea de comándos,aunque éste último es más engorroso.

Elkin Bernal dice:

10/08/2014 a las 05:35 (http://jarroba.com/arraylistenjavaejemplos/#comment823)

Muy buen contenido, se han ganado un suscriptor más, voya leer todos sus articulo!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=823#respond)

Page 46: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 46/70

Danilo dice:

09/07/2014 a las 20:16 (http://jarroba.com/arraylistenjavaejemplos/#comment821)

Una Pregunta:

Bueno primero excelente post!!!!, segundo tengo una dudacon respecto al manejo de ArrayList con datos obtenidos desde unaBD, hago la conexión con la BD y obtengo los datos de una tabla ylos guardo en un ArrayList con este código:

package Negocio;

import Conexion.*;import DTO.*;import java.util.ArrayList;import javax.swing.JOptionPane;

/**** @author dvenegas*/public class NegocioMovimientoZonas

private Conexion conec1;

/*** @return the conec1*/public Conexion getConec1() return conec1;

/*** @param conec1 the conec1 to set*/

Page 47: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 47/70

public void setConec1(Conexion conec1) this.conec1 = conec1;

/*** metodo para configurar la conexion*/

public void configurarConexion()this.setConec1(new Conexion());this.getConec1().setNombreBaseDeDatos(“jdbc:db2://172.16.11.100:50000/IBMSE”);this.getConec1().setNombreTabla(“hist.areazonelist”);this.getConec1().setCadenaConexion(“com.ibm.db2.jcc.DB2Driver”);this.getConec1().setUsuario(“db2admin”);this.getConec1().setPass(“Db2Adm1n”); //Fin configurar

public ArrayList retornaPersonasActivas()ArrayList auxListaPersonas = new ArrayList();this.configurarConexion();this.getConec1().setCadenaSQL(“SELECT * FROM ” +this.getConec1().getNombreTabla() + ” ORDER BY ENTERDATDESC”);this.getConec1().setEsSelect(true);this.getConec1().conectar();

trywhile(this.getConec1().getDbResultSet().next())PersonaActivaZona auxPersonaActiva = newPersonaActivaZona();

Page 48: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 48/70

auxPersonaActiva.setLeavedat(this.getConec1().getDbResultSet().getTimestamp(“leavedat”));auxPersonaActiva.setEnterdat(this.getConec1().getDbResultSet().getTimestamp(“enterdat”));auxPersonaActiva.setZoneid(this.getConec1().getDbResultSet().getInt(“zoneid”));auxPersonaActiva.setItemid(this.getConec1().getDbResultSet().getInt(“itemid”));auxPersonaActiva.setTagid(this.getConec1().getDbResultSet().getString(“tagid”));auxPersonaActiva.setZonename(this.getConec1().getDbResultSet().getString(“zonename”));auxPersonaActiva.setLastname(this.getConec1().getDbResultSet().getString(“lastname”));auxPersonaActiva.setFirstname(this.getConec1().getDbResultSet().getString(“firstname”));auxPersonaActiva.setCompname(this.getConec1().getDbResultSet().getString(“compname”));

auxListaPersonas.add(auxPersonaActiva); //Fin whilecatch(Exception ex)JOptionPane.showMessageDialog(null, “Error SQL ” +ex.getMessage()); //Fin try cargar arraylist

return auxListaPersonas; //Fin retorna cliente

Luego de esto lo muestro en pantalla recorro y lo muestro enpantalla en una “Table” con el siguiente código:

private voidjButton1ActionPerformed(java.awt.event.ActionEvent evt) // TODO add your handling code here:NegocioMovimientoZonas auxNegocioActiva = newNegocioMovimientoZonas();

Page 49: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 49/70

Iterator iter =auxNegocioActiva.retornaPersonasActivas().iterator();

DefaultTableModel modelo = new DefaultTableModel();

modelo = (DefaultTableModel) this.jTableActiva.getModel();modelo.setRowCount(0);int fila = 0;

while (iter.hasNext())Object[] num = ;modelo.addRow(num);

PersonaActivaZona auxActiva = new PersonaActivaZona();auxActiva = (PersonaActivaZona) iter.next();

this.jTableActiva.setValueAt(auxActiva.getEnterdat() , fila,0);this.jTableActiva.setValueAt(auxActiva.getLeavedat(), fila, 1);this.jTableActiva.setValueAt(auxActiva.getZoneid(), fila, 2);this.jTableActiva.setValueAt(auxActiva.getItemid(), fila, 3);this.jTableActiva.setValueAt(auxActiva.getTagid(), fila, 4);this.jTableActiva.setValueAt(auxActiva.getZonename(), fila, 5);this.jTableActiva.setValueAt(auxActiva.getLastname(), fila, 6);this.jTableActiva.setValueAt(auxActiva.getFirstname(), fila, 7);this.jTableActiva.setValueAt(auxActiva.getCompname(), fila, 8);

fila++;

Hasta ahí todo muy bien y sin problema, mi consulta va acomo puedo hacer para agregar a este ArrayList nuevas “PersonasActivas” y si ya existe en la lista solo actualizar el campo fecha y lazonaid, y para eliminar un registro.

Page 50: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 50/70

El dato TagID es el dato llave o Primary Key si se entiende.

Espero me puedan ayudar.

Saludos

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=821#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:09/07/2014 a las 21:22 (http://jarroba.com/arraylistenjavaejemplos/#comment822)

Hola Danilo,

para concatenar una ArrayList en otro tienes queutilizar addAll(Collection< ? extends E> c) .Para ver si existe puedes crear un ArrayList de objetos yutilizar la función contains(Object o), que te devuelve true siexiste; o directamente trayendote el dato con get(int index).Luego solo te quedará actualizar los datos que necesites. Teaconsejo que eches un vistazo enhttp://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html(http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html)

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=822#respond)

Alejandro Gamboa dice:

05/06/2014 a las 23:45 (http://jarroba.com/arraylistenjavaejemplos/#comment819)

Page 51: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 51/70

Muy útil todo (Especialmente lo del iterator) … muy buenpost! Pero tengo una pregunta, hay alguna forma de ordenar losArray? Por ejemplo, si tenemos una lista de numeros, que el numeromenor esté en la posición 0? Sé que es con el compareTo pero nose como cambiarlos de campo de memoria, agradecería larespuesta.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=819#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:07/06/2014 a las 11:33 (http://jarroba.com/arraylistenjavaejemplos/#comment820)

Buenas Alejandro,Lo primero decirte que tienes la solución en esta entrada:http://jarroba.com/ordenarunarraylistenjava/(http://jarroba.com/ordenarunarraylistenjava/)Es mejor que utilices un algoritmo de ordenación ya creadopor Java para estas cosas (así no tienes que crear tu elmismo que ya existe y te ahorras ese trabajo ). Puedesusar el método sort() para ordenar del siguiente modo:ArrayList nombreArrayList = new ArrayList();Collections.sort(nombreArrayList);De esta manera tendrás la variable “nombreArrayList”ordenada de menor a mayor.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=820#respond)

Estuardo dice:

17/05/2014 a las 05:04 (http://jarroba.com/arraylistenjavaejemplos/#comment817)

Hola!¿Como podria verificar si un objeto ya ha sido guardado antes en elarrayList?

Page 52: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 52/70

para no volverlo a ingresar.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=817#respond)

Richard [Admin Jarroba]

(http://www.jarroba.com) dice:17/05/2014 a las 07:41 (http://jarroba.com/arraylistenjavaejemplos/#comment818)

Hola Estuardo. Si el ArrayList es de datos “atómicos”u objetos propios de java lo puedes hacer con el método“contains”, que eso supongo que lo sabrás.Por otro lado si lo que quieres ver es si existe un objeto deuna clase que te has creado tu, lo suyo es crearte un métodoque lo puedes llamar por ejemplo “hasInArrayList(Objectobject)” y programarte este método para que recorra loselementos del ArrayList y compare sus atributos uno a unopara ver si los objetos son iguales. Recuerda que si le pasacomo parámetro el objeto, aunque ese objeto tenga losmismos datos en sus atributos, considerará que son objetosdistintos porque tienen distinta referencia (o puntero).

Por otro lado te recomiendo que si quieres hacercomprobaciones de este tipo y cada uno de los objetos de lalista que tienes van a estar diferenciados siempre por unatributos (es decir que tendrá un atributos id o algo así), terecomiendo que utilices la estructura de datos de los “MAP”(aquí te dejo la entrada para que sepas como funcina:http://jarroba.com/mapenjavaconejemplos/(http://jarroba.com/mapenjavaconejemplos/)) que estaestructura de datos es más apropiada para hacer lo quesupongo que quieres hacer, porque esa comprobación quequieres hacer con ArrayList la tienes que programar tu,mientras que si utilizas MAP y tienes un atributo diferenciadoeso te lo hará muy rápido.

SL2

Page 53: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 53/70

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=818#respond)

yomismo dice:

12/09/2014 a las 12:29 (http://jarroba.com/arraylistenjavaejemplos/#comment834)

¡Buenas!

Sólo una puntualización relativa al diseño.

El método contains() hace uso del métodoequals() (verhttp://docs.oracle.com/javase/7/docs/api/java/util/List.html#contains%28java.lang.Object%29(http://docs.oracle.com/javase/7/docs/api/java/util/List.html#contains%28java.lang.Object%29)), y lo puedesusar tanto para tipos primitivos o clases propias dejava, como para tus propias clases también. De hecho,lo ideal siempre es, si la API de java te da la opción,haz uso de ella.

Para asegurarte que el contains() funcionacorrectamente, lo único que tienes que tener en cuentaes que tu clase (la de los objetos que van a ir en la lista)debe implementar los métodos equals() (y hashCode()).En esos métodos queda en tu mano decidir cuándoconsideras que dos objetos de tu clase son iguales;algunos IDEs de desarrollo, como por ejemplo eclipse,te dan la opción de generar estos dos métodosautomáticamente en función de los atributos de clase.Si usas eclipse: Source –> Generate hashCode() andequals().

Saludos.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=834#respond)

Page 54: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 54/70

Manuel Dario dice:

24/03/2014 a las 21:56 (http://jarroba.com/arraylistenjavaejemplos/#comment816)

Excelente post , gracias a Ti entendi Arraylist y susmetodos mas importantes , saludos desde Colombia

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=816#respond)

Moises dice:

05/03/2014 a las 20:09 (http://jarroba.com/arraylistenjavaejemplos/#comment814)

Una pregunta, como podria hacer un Array de dosdimenciones pero dinamico, es decir que no dependa del tamaño delarreglo y que en cualquier momento, pueda agregar elementos alarreglo y que pueda ser de esta forma

1 Cadena fecha valor1 valor21 Cadena fecha valor1 valor21 Cadena fecha valor1 valor21 Cadena fecha valor1 valor21 Cadena fecha valor1 valor2

Existe algun metodo que permita hacer esto?? lo heintendado con ArrayList o ArrayCollection pero no he encontrado laforma

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=814#respond)

Richard [Admin Jarroba]

(http://www.jarroba.com) dice:10/03/2014 a las 08:20 (http://jarroba.com/arraylistenjavaejemplos/#comment815)

Page 55: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 55/70

Hola Moises. Esto se puede hacer con un ArrayListde ArrayList. Esto esta explicado en esta entrada. Se que esun poco complicado de entender al principio (porque a mitambién me costo), pero para hacer esto se requiere ya unconocimiento importante en el manejo de los ArrayList. Con lola información que me das no te puedo decir mucho más, peroya te digo lo que planteas se hace con un ArrayList deArrayList.SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=815#respond)

Abad dice:

24/02/2014 a las 17:14 (http://jarroba.com/arraylistenjavaejemplos/#comment813)

Gracias.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=813#respond)

SoftMAS Desarrollo de Software (http://softmas.com)

dice:24/02/2014 a las 02:03 (http://jarroba.com/arraylistenjavaejemplos/#comment812)

Excelente trabajo muchachos, explicación clara, losejemplos son muy prácticos. Sigan con el trabajo que lo hacen muybien.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=812#respond)

Jose Quezada dice:

12/02/2014 a las 04:18 (http://jarroba.com/arraylistenjava

Page 56: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 56/70

ejemplos/#comment809)

Excelente Post, esta súper bien explicado como manejar losArrrayList.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=809#respond)

Jesus dice:

06/02/2014 a las 19:16 (http://jarroba.com/arraylistenjavaejemplos/#comment807)

Buenas tardes, tengo un problema que no puedo resolver elcual es el siguiente:Tengo 4 arrayList :String datos=””;private ArrayList concepto = new ArrayList();private ArrayList persona = new ArrayList();private ArrayList pago = new ArrayList();private ArrayList Concatenacion_concepto = new ArrayList();

/*La variable concepto es para el eje xLa variable persona es para el eje yY la variable pago es aquella en donde algunas personas pagaronciertas cuentas.

Uso el siguiente proceso para comparación:*/for (int y = 0; y < persona.size(); y++) datos =persona.get(y).getNombre() + ";"+ persona.get(y).getCve_persona () + ";"+ persona.get(y).getStatus();for (int x = 0; x < concepto.size(); x++) if ((concepto.get(x).getCve_concepto() ==adeudo.get(x).getCve_concepto())) if ((persona.get(y).getCve_persona() ==adeudo.get(x).getCve_cliente())) datos += "; X ";

Page 57: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 57/70

else datos += "; O ";

Concatenacion_concepto.add(datos);/*El problema que tengo que al momento de comparar datos, memarca el siguiente error:java.lang.IndexOutOfBoundsException: Index: 2, Size: 2y no tengo idea de cómo compararlo ¿alguna sugerencia?Saludos*/

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=807#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:07/02/2014 a las 00:04 (http://jarroba.com/arraylistenjavaejemplos/#comment808)

Buenas Jesús,

el problema que indicas es porque intentas acceder auna posición del índice del ArrayList que no existe(comprueba que los for no se pasen de los elementos quetengas almacenados en los ArrayList). De todas maneras,para recorrer ArrayList recomendamos mejor usar Iterator.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=808#respond)

Jesus dice:

13/02/2014 a las 15:34 (http://jarroba.com/arraylistenjavaejemplos/#comment810)

Page 58: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 58/70

De hecho encontré la solución, solo era deagregar un tercer ciclo for:

int validar = 0;for (int y = 0; y < persona.size(); y++) datos = persona.get(y).getNombre() + ";"+ persona.get(y).getCve_perosna() + ";"+ persona.get(y).getStatus();for (int x = 0; x < concepto.size(); x++) for (int z = 0; z < adeudo.size(); z++) if ((adeudo.get(z).getCve_cliente() ==persona.get(y).getCve_persona()) &&(adeudo.get(z).getCve_concepto() ==concepto.get(x).getCve_concepto())) validar = 1;if (validar == 1) datos += ";X"; else datos += "; ";validar = 0;Concatenacion_concepto.add(datos);datos = "";

y ya con esto me trae lo que necesito deinformación, de todas forma muchas gracias

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=810#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:13/02/2014 a las 21:32(http://jarroba.com/arraylistenjavaejemplos/#comment811)

Page 59: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 59/70

Me alegro que hayas encontrado el errorrápido, normalmente con dar un par de vueltas alcódigo estos errores salen solos

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=811#respond)

Mariano dice:

01/02/2014 a las 22:03 (http://jarroba.com/arraylistenjavaejemplos/#comment805)

Estimados, tengo un problema tremendo con arraylist yquisiera que, si no es mucha molestia, me pudieran instruir endónde está mi error, dado que he probado de todo ya y, o se mecuelga la ejecución del programa o no da el resultado esperado, laverdad es que me estoy volviendo loco!

Les detallo: necesito un programa que lea objetos de tipocontainer, que tienen algunos atributos a saber: nombre, puerto decarga, puerto de descarga, tipo y peso, y que luego me los muestrepor pantalla.

Yo ya hice la clase “Containers” en donde desarrollé, comoustedes aca con los partidos, los atributos del objeto container:Variablesnombre: de tipo stringpuertoCarga: tipo stringpuertoDescarga: tipo stringtipo: tipo integer (ya que necesito saber si son de 20 o de 40 nomás)(calculo que también podría ser boolean)peso: de tipo float

y sus “Getters” and “Setters”

con eso tengo la clase para luego poder crear objetos detipo Container con los atributos mencionados.

Page 60: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 60/70

hasta ahí todo bien, el problema está en que en el maindesarrollé los métodos “cargarcontainers” y “mostrarcontainers” y, ome da un error la ejecución o no me da lo que necesito, y el tema esque es tan tonto lo que necesito que me da hasta verguenza nosaber resolverlo! y seguro que la solución la tengo al alcance de lamano pero no logro darme cuenta, por eso, me tomo el atrevimientode copiarles mi código para ver si ustedes pueden explicarme cuáles mi error:

import java.util.*;public class Principal

static ArrayList containers = new ArrayList (); //Aca voy aguardar los containers que vaya leyendostatic Scanner sc = new Scanner (System.in); //Scanner para leerdatos de teclado

public static void main (String [] args)cargarContainers();

System.out.println(“”);System.out.println(“Lista de containers:”);System.out.println(“Containers: ” + containers.size());System.out.println(“”);

mostrarContainers();

System.out.println(“”);System.out.println(“Todos los containers han sido mostrados!”);

//Fin del método Main

public static void cargarContainers ()String nombre;String puertoCarga;String puertoDescarga;int tipo;

Page 61: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 61/70

int peso;int N;Containers aux = new Containers ();

System.out.println(“Ingrese el número de Containers paracargar: “);N=sc.nextInt();

for (int i=0; i<N; i++)sc.nextLine();System.out.println("");System.out.println("Container N° " + (i+1) + " : ");System.out.println("Nombre: ");nombre = sc.nextLine();aux.setNombre(nombre);

System.out.println("Puerto de Carga: ");puertoCarga = sc.nextLine();aux.setPuertoCarga(puertoCarga);

System.out.println("Puerto de Descarga: ");puertoDescarga = sc.nextLine();aux.setPuertoDescarga(puertoDescarga);

System.out.println("Tipo (20 / 40): ");tipo = sc.nextInt();aux.setTipo(tipo);

System.out.println("Peso: ");peso = sc.nextInt();aux.setPeso(peso);

containers.add(aux); //Con esta orden deberían poderguardarse todos los atributos en el arraylist

//Fin del for//Fin del método

Page 62: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 62/70

public static void mostrarContainers ()

Iterator itrContainers = containers.iterator();while(itrContainers.hasNext())Containers aux = itrContainers.next();System.out.println(aux.getNombre()+ ” ”+ aux.getPuertoCarga() + “”+ aux.getPuertoDescarga() + ” ”+ aux.getPeso() + ” ”+ aux.getTipo());

//Fin de la clase principal

Resulta que cuando ejecuto el programa me da el númeroexacto de los containers cargados, pero si cargué digamos 5containers, me imprime por pantalla el último cargado 5 vecesseguidas y no 1 vez cada uno!!!

Perdón por la extensión, pero me vendría genial que puedanayudarme con este problemita!Desde ya muchísimas gracias!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=805#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:01/02/2014 a las 23:00 (http://jarroba.com/arraylistenjavaejemplos/#comment806)

Buenas Mariano,

El problema que tienes es que el objeto aux del tipoContainers en el ArrayList es referenciado (referenciado esque apunta al objeto, no que guarda una copia del mismo).

Page 63: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 63/70

Como solo haces un new Container() antes del for este seguarda la referencia la primera vez en el ArrayList con losdatos que le has puesto; la siguiente vez se guarda en elmismo objeto otros datos y se referencia el mismo objeto enotra posición del ArrayList. Hasta aquí tenemos un mismoobjeto referenciado dos veces por el ArrayList, por lo que entodas las posiciones del ArrayList obtenemos los mismosdatos. La solución, simplemente añade el Containers aux =new Containers(); dentro del for al principio de este para quese cree un nuevo objeto para cada referencia de cadaposición del ArrayList.

Otra recomendación, parametriza el ArrayList y elIterator siempre:static ArrayList containers = new ArrayList();Iterator itrContainers = containers.iterator();

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=806#respond)

Pablo dice:

06/01/2014 a las 22:53 (http://jarroba.com/arraylistenjavaejemplos/#comment804)

Muchas gracias!Excelente la data que han posteado.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=804#respond)

Matias Menker dice:

04/12/2013 a las 11:45 (http://jarroba.com/arraylistenjavaejemplos/#comment803)

Muchisimas gracias … Me has resuelto muchas dudas tusejemplos son claros y utiles, gracias por la ayuda

Page 64: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 64/70

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=803#respond)

Calítoe.:. (http://www.diletante.net) dice:

24/11/2013 a las 22:39 (http://jarroba.com/arraylistenjavaejemplos/#comment802)

Muchas gracias. Este artículo me ha servido de gran ayudaa la hora de resolver un ejercicio.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=802#respond)

Alfredo dice:

22/09/2013 a las 20:39 (http://jarroba.com/arraylistenjavaejemplos/#comment800)

disculpa para sumar el contenido de un array, suselementos se le van añadiendo de forma aleatoria

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=800#respond)

Richard [Admin Jarroba]

(http://www.jarroba.com) dice:23/09/2013 a las 07:50 (http://jarroba.com/arraylistenjavaejemplos/#comment801)

Tengas lo que tengas que hacer (bien sea un array oarraylist) debes de recorrerlo de forma ordenada y en tu casoir sumandolo. Siempre en estos casos debes de recorrer losarrays de forma ordenada (por algo tienen un indice).SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=801#respond)

Page 65: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 65/70

Lazaro Eliseo Orellana dice:

12/09/2013 a las 16:09 (http://jarroba.com/arraylistenjavaejemplos/#comment798)

soy principiante tengo mucho interés en aprender en java ypoder explicar a mis compañeros que también están con el mismoproblema y me confundo mucho sobre donde tienen que ir variascosas por ejemplo si quiero eliminar o modificar un objeto, porahorita estoy aprendiendo como utilizar el arraylist gracias por tanbuena información…..

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=798#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:14/09/2013 a las 13:33 (http://jarroba.com/arraylistenjavaejemplos/#comment799)

Buenas Lazaro,mucho ánimo a este mundo de Java, ya verás como esapasionante y en poco te convertirás en todo un experto Y ya sabes que puedes contar con nosotros ante cualquierduda que necesites aclarar.

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=799#respond)

carlos dice:

11/08/2013 a las 04:06 (http://jarroba.com/arraylistenjavaejemplos/#comment796)

Hola muy bueno tu blog tengo una pregunta algo fuera deltema….Pues tengo un arreglo String ( no array)…..que contienenombres de personas…..pues resulta que necesito borrar unnombre de esa lista….pero como no utilizo objetos lo queria borrar

Page 66: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 66/70

por medio de su posicion pero me da el error de que al momento decomparar la posicion que quiero borrar con el arreglo….me dice queno es compatible un java String con un int.

como podria borrar un nombre mandandole yo la posicionque quiero borrar ?

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=796#respond)

Ramón [Admin Jarroba]

(http://www.jarroba.com) dice:15/08/2013 a las 10:09 (http://jarroba.com/arraylistenjavaejemplos/#comment797)

Buenas Carlos,Cuando te refieres a arreglo no array, ¿a que tipo deestructura de datos te refieres? ¿List, ArrayList, HashMap,etc? Normalmente todas las estructuras de datos tienenalguna función de eliminación de elementos.Después, sobre lo que comentas de la compatibilidad Stringcon int, huele a que estás comparando justo eso. Prueba untruco sencillo, que es en el momento de la comparación y si lavariables se llaman X e Y, sumarles unas comillas vacías; esdecir, hacer un X+”” y un Y+”” , con esto conviertes a Stringlas dos variables y no deberías de tener problemas. Tambiénrecuerda que para comparar Strings se hace con la funciónequals(), como por ejemplo:(X+””).equals(Y+””)

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=797#respond)

Alex dice:

02/08/2013 a las 03:52 (http://jarroba.com/arraylistenjavaejemplos/#comment794)

Page 67: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 67/70

Hola!Muy bueno tu post, pero tengo una pregunta, cuando digo quequiero imprimir los datos contenidos en mi ArrayListSystem.out.println(“Primera Posición”+lstUnidades.get(3));

En este caso la posicion 3, obtengo lo siguiente:

“Primera PosiciónModelo.VOUnidadMedida@23e94776”

¿Cómo logro acceder al dato? Esta parece la dirección delobjeto pero no su contenido, ¿Por qué se presenta esto?

Te agradezco un montón!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=794#respond)

Richard [Admin Jarroba]

(http://www.jarroba.com) dice:02/08/2013 a las 12:55 (http://jarroba.com/arraylistenjavaejemplos/#comment795)

Buenas Alex.Entiendo que “lstUnidades” es un arrayList de objetos dealguna clase que tu te has creado. Entonces lo que te estadando es ese objeto en un string. Si por ejemplo ese objetotuviese un atributo “nombre” y tuvieses el método getimplementado (ejm: getNombre) para imprimir tendrías queponer lo siguiente:System.out.println(“PrimeraPosición”+lstUnidades.get(3).getNombre());De esta forma se te imprimiria el atributo nombre del objeto.Supongo que es eso lo que te pasa, pero con la informaciónque me das no te puedo ayudar mas. Cualquier cosa vuelve aescribir.SL2

Responder (http://jarroba.com/arraylistenjavaejemplos/?

Page 68: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 68/70

replytocom=795#respond)

Ruben dice:

22/06/2013 a las 02:32 (http://jarroba.com/arraylistenjavaejemplos/#comment793)

esta muy bueno el ejemplo!!!se agradece!!!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=793#respond)

D dice:

21/06/2013 a las 20:25 (http://jarroba.com/arraylistenjavaejemplos/#comment792)

Excelente aporte muchas gracias!

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=792#respond)

Sjod_A dice:

30/05/2013 a las 17:42 (http://jarroba.com/arraylistenjavaejemplos/#comment791)

Que buen post. excelente

Responder (http://jarroba.com/arraylistenjavaejemplos/?replytocom=791#respond)

Deja un comentarioTu dirección de correo electrónico no será publicada. Los campos

necesarios están marcados *

Page 69: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 69/70

Nombre *

Correo electrónico *

Web

Publicar comentario

(/)

Siguenos en:

(http://www.youtube.com/user/Jarrobaweb)

(https://twitter.com/JarrobaWeb)

(https://www.facebook.com/jarrobaWeb) (https://github.com/jarroba?

tab=repositories) (https://plus.google.com/103352032205227460108/)

Page 70: Array list en java, con ejemplos   jarroba

6/10/2015 ArrayList en Java, con ejemplos Jarroba

http://jarroba.com/arraylistenjavaejemplos/ 70/70

Contacto: [email protected](mailto:[email protected])

FAQ (HTTP://JARROBA.COM/FAQ/)

VISITAS (HTTP://JARROBA.COM/VISITAS/)

GASTOS

SITEMAP (HTTP://JARROBA.COM/SITEMAP_INDEX.XML)

Copyright © 2015 Jarroba.com (http://www.jarroba.com) Todos losderechos reservados

By Reimon & Richard