ArrayList en JAVA (Completo)
ArrayList en JAVA (Completo)
Por ejemplo:
De forma general:
No se pueden usar tipos primitivos. Para un tipo primitivo se debe utilizar su clase
envolvente.
Por ejemplo:
1
MÉTODOS DE ARRAYLIST
MÉTODO DESCRIPCIÓN
http://docs.oracle.com/javase/9/docs/api/java/util/ArrayList.html
RECORRER UN ARRAYLIST
for(Integer i: numeros){
System.out.println(i);
}
for(Object o: nombreArray){
System.out.println(o);
}
2
Utilizando un objeto Iterator.
http://docs.oracle.com/javase/9/docs/api/java/util/Iterator.html
Ejemplo:
Ejemplo 1:
3
Ejemplo 2: Escribe un programa que lea números enteros y los guarde en un
ArrayList hasta que se lea un 0 y muestra los números leídos, su suma y su media.
import java.util.*;
do {
System.out.println("Introduce números enteros. 0 para
acabar: ");
System.out.println("Numero: ");
n = sc.nextInt();
if (n != 0){
numeros.add(n);
}
}while (n != 0);
4
COPIAR UN ARRAYLIST
La instrucción:
Para hacer una copia podemos hacerlo de forma manual elemento a elemento o se
puede pasar la referencia del ArrayList original al constructor del nuevo:
5
ARRAYLIST COMO PARÁMETRO DE UN MÉTODO
import java.util.*;
Para crear una matriz lo que creamos es un ArrayList cuyos elementos son a su vez
ArrayList. Esto se puede extender sucesivamente y obtener arrays de más
dimensiones.
Ejemplo:
6
public static void main(String args[]){
En esta entrada vamos a escribir un programa Java que crea un ArrayList de Objetos
de tipo Coche. El programa pide por teclado los datos de los coches y los guarda en
el array. A continuación utilizará el ArrayList para mostrar por pantalla lo siguiente:
7
Primero creamos la clase Coche:
//Clase Coche
public class Coche {
private String matricula;
private String marca;
private String modelo;
private int Km;
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("\nMatrícula: ");
sb.append(matricula);
sb.append("\nMarca: ");
sb.append(marca);
sb.append("\nModelo: ");
sb.append(modelo);
sb.append("\nKm: ");
sb.append(Km);
return sb.toString();
}
}
8
A continuación creamos la clase principal del proyecto:
//Clase principal
public class Basico1 {
//método main
public static void main(String[] args) {
leerCoches();
System.out.println("\nCoches introducidos:");
mostrarCoches();
mostrarPorMarca();
mostrarPorKm();
System.out.println("\nCoche con mayor número de Km: " + mostrarMayorKm());
System.out.println("\nCoches ordenados de menor a mayor número de Km");
mostrarOrdenadosPorKm();
} //fin método main
//lectura de N coches
for (i = 1; i <= N; i++) {
//leer datos de cada coche
System.out.println("Coche " + i);
System.out.print("Matrícula: ");
matricula = sc.nextLine();
System.out.print("Marca: ");
marca = sc.nextLine();
System.out.print("Modelo: ");
modelo = sc.nextLine();
System.out.print("Número de Kilómetros: ");
Km = sc.nextInt();
sc.nextLine(); //limpiar el intro
aux = new Coche(); //Se crea un objeto Coche y se asigna su referencia a aux
9
Podemos representar de forma gráfica el contenido del ArrayList según se van
introduciendo los objetos:
10
//Método que devuelve el Coche con mayor número de Km
public static Coche mostrarMayorKm(){
Coche mayor = coches.get(0);
for(int i = 0; i < coches.size(); i++){
if(coches.get(i).getKm() > mayor.getKm())
mayor = coches.get(i);
}
return mayor;
}
//Método que muestra los coches ordenados por número de Km de menor a mayor
public static void mostrarOrdenadosPorKm(){
int i, j;
Coche aux;
for(i = 0; i < coches.size()-1; i++)
for(j=0; j < coches.size()-i-1; j++)
if(coches.get(j+1).getKm() < coches.get(j).getKm()){
aux = coches.get(j+1);
coches.set(j+1, coches.get(j));
coches.set(j, aux);
}
mostrarCoches();
}
} //fin de la clase principal
11