Lista de arrays
Lista de arrays
La clase ArrayList es un array redimensionable, que se puede encontrar en el paquete java.util
La diferencia entre una matriz incorporada y una ArrayListen
Java, es que el tamaño de una matriz no se puede modificar (si deseas agregar o eliminar elementos a/de una matriz, debes crear una nueva). Si bien se pueden agregar y eliminar elementos de un ArrayList
cuando quieras. La sintaxis también es ligeramente diferente:
1
2
3
4
5
6
7
8
9
// Crea un ArrayList objeto llamado coches que almacenará cadenas
import java.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<String>.coches = new ArrayList<String>();
}
}
Agregar elementos
La clase ArrayList
tiene muchos métodos útiles. Por ejemplo, para agregar elementos al ArrayList
, utilizamos el método add();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<String>coches = new ArrayList<String>();
coches.add("Jaguar");
coches.add("Ford");
coches.add("BMW");
coches.add("Porche");
coches.add("Ferrari");
System.out.println(coches);
}
}
Salida:
[Jaguar, Ford, BMW, Porche, Ferrari]
Acceder a un elemento
Para acceder a un elemento en el ArrayList, utilizar get()método
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<String>coches = new ArrayList<String>();
coches.add("Jaguar");
coches.add("Ford");
coches.add("BMW");
coches.add("Porche");
coches.add("Ferrari");
System.out.println(coches.get(0));
}
}
Salida:
Jaguar
Cambiar un elemento
Para modificar un elemento, utiliza set()
1
coches.set(4, "Mercedes");
Eliminar un elemento
Para eliminar un elemento, utiliza remove()
1
coches.remove(4);
Para eliminar todos los elementos del ArrayList, utiliza clear()
1
coches.clear();
Tamaño de la lista
Para saber cuántos elementos tiene un ArrayList, utiliza size()
1
coches.size();
Recorrer el ArrayList
Para recorrer elementos de un ArrayList podemos utilizar un bucle for
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<String>coches = new ArrayList<String>();
coches.add("Jaguar");
coches.add("Ford");
coches.add("BMW");
coches.add("Porche");
coches.add("Ferrari");
for (int i = 0; i < coches.size(); i ++){
System.out.println(coches.get(i));
}
}
}
También puedes recorrer un ArrayList con el bucle para cada:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<String>coches = new ArrayList<String>();
coches.add("Jaguar");
coches.add("Ford");
coches.add("BMW");
coches.add("Porche");
coches.add("Ferrari");
for (String i : coches) {
System.out.println(i);
}
}
}
Los elementos de un ArrayList
son en realidad objetos. En los ejemplos anteriores, hemos creado elementos (objetos) de tipo “String”. Recuerda que un String en Java es un objeto (no un tipo primitivo). Para utilizar otros tipos, como int
, debes especificar una clase envolvente equivalente: Integer
. Para otros tipos primitivos, utiliza: Boolean
para booleanos, Character
para caracteres, etc:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.ArrayList;
public class main{
public static void main(String[] args){
ArrayList<Integer> misNumeros = new ArrayList<Integer>();
misNumeros.add(10);
misNumeros.add(9);
misNumeros.add(30);
misNumeros.add(16);
misNumeros.add(71);
for (int i : misNumeros){
System.out.println(i);
}
}
}
Ordenar una lista de matrices
Otra clase útil en el paquete de java.util
es Collectionsclase
, que incluye el método sort()
para ordenar listas alfabéticamente o numéricamente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.Collections;
public class main{
public static void main(String[] args){
ArrayList<Integer> misNumeros = new ArrayList<Integer>();
misNumeros.add(10);
misNumeros.add(9);
misNumeros.add(30);
misNumeros.add(16);
misNumeros.add(71);
Collections.sort(misNumeros);
for (int i : misNumeros){
System.out.println(i);
}
}
}