6. 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 un
fichero de texto, una serie de partidos de fútbol que guardaremos en un
ArrayList de objetos “PartidoFutbol”. Al utilizar el ArrayList, nos da igual el
numero de partidos de fútbol que haya en el fichero de texto ya que los
9. 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 que
forma se puede leer un fichero de texto y tratar los datos . Una vez
ejecutado este código tenemos guardado en el ArrayList “partidos”, 50
partidos de fútbol. Ahora recorremos el ArrayList con un Iterator y
mostramos por pantalla todos los resultados de fútbol. Esto lo hacemos
igual 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 Betis
Betis 1‐0 Osasuna
Atletico Madrid 0‐0 Zaragoza
Zaragoza 2‐2 Valencia
Mallorca 0‐1 Deportivo
Deportivo 1‐0 Atletico Madrid
.
.
.
Mallorca 1‐4 Malaga
Malaga 0‐2 Atletico Madrid
Ahora vamos a eliminar del ArrayList, todos los partidos que no
tengan como resultado un empate. De esta forma trabajaremos de nuevo
con el iterator. Esto lo hacemos de la siguiente forma:
13. 6/10/2015 ArrayList en Java, con ejemplos Jarroba
http://jarroba.com/arraylistenjavaejemplos/ 13/70
// Instanciamos el fichero donde estan los datos
File 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 fich
ero
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<Inte
ger>();
// Pongo los numeros de la fila en el ArrayList
for (int i=0; i<cortarString.length; i++){
numeros.add(Integer.parseInt(cortarStri
ng[i]));
}
// Añado el ArrayList de enteros al ArratList d
e 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 recorrer
el ArrayList de ArrayList de Enteros, vamos a imprimir por pantalla el
contenido del ArrayList y lo hacemos de la siguiente forma:
15. 6/10/2015 ArrayList en Java, con ejemplos Jarroba
http://jarroba.com/arraylistenjavaejemplos/ 15/70
// Recorremos el ArrayList de los ArrayList y eliminamos los Ar
rayList que no
// contengan elementos
itrArrayListNumeros = arrayListNumeros.iterator();
while(itrArrayListNumeros.hasNext()){
ArrayList<Integer> numeros = itrArrayListNumeros.nex
t();
// Si el ArrayList esta vacio, lo eliminamos del ArrayL
ist
if (numeros.isEmpty())
itrArrayListNumeros.remove();
}
Con todo esto ya hemos eliminado los ceros, y los ArrayList que
estaban vacíos. Ahora solo queda recorrer de nuevo el ArrayList de
ArrayList y mostrar el contenido tras realizar las eliminaciones de ceros.
Esto lo hacemos de la siguiente manera:
// Mostramos el ArrayList tras eliminar todos los ceros
String salida = "";
System.out.println("n... Salida sin ceros ...");
itrArrayListNumeros = arrayListNumeros.iterator();
while(itrArrayListNumeros.hasNext()){
ArrayList<Integer> numeros = itrArrayListNumeros.nex
t();
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 los
ArrayList, con ejemplo de como tratarlos con elementos atómicos (String,
int, float, double, …) y con objetos y sobre todo ver como se trabaja con
18. 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/arraylistenjava
ejemplos/) 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 en
Java, con ejemplos”
Daniel dice:
13/09/2015 a las 17:27 (http://jarroba.com/arraylistenjava
ejemplos/#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/arraylistenjava
ejemplos/#comment23691)
El nombre del ArrayList es el nombre de la variable
que le pongas cuando lo asignas, como:
32. 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 en
el método “agregar()” tienes que hacer el Banda banda = new
Banda(); 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/arraylisten
javaejemplos/#comment11473)
Muchas gracias, la verdad yo lo había hecho
una vez como el problema que plantee y me
funcionaba, pero bueno no importa, ahora si me
funciona como usted me lo acabo desugerir, gracias me
sirvió mucho
Responder (http://jarroba.com/arraylistenjava
ejemplos/?replytocom=11473#respond)
José Rodríguez dice:
04/03/2015 a las 16:59 (http://jarroba.com/arraylisten
javaejemplos/#comment11475)
Pero no entiendo porque poniendo a Banda
banda = new Banda(); como global es distinto que
ponerla dentro de un metodo
Responder (http://jarroba.com/arraylistenjava
ejemplos/?replytocom=11475#respond)
Ramón [Admin Jarroba] dice:
05/03/2015 a las 15:41
(http://jarroba.com/arraylistenjava
ejemplos/#comment11609)
Si la pones como global, solo se crea la
primera vez que se crea el objeto que has
llamado “Acciones”. Si la pones dentro del