miércoles, 6 de abril de 2016

Arrays redimensionables en JAVA



Un ArrayList es un array redimensionable. Puede almacenar un número indefinido de elementos.

La declaración de un ArrayList tiene la siguiente sintaxis:

List <tipo-o-clase> identificador-lista;

Por ejemplo, el ArrayList vehiculos de la clase Vehiculo se inicializa:

List <Vehiculo> vehiculos = new ArrayList<Vehiculo>();

Los métodos más utilizados de la clase ArrayList son:

  • add(Object o). Añade un objeto a la lista.
vehiculos.add(new Turismo("4060 TUR", "Skoda", "Fabia", "Blanco", 90.0, 2, false));

  • get(int posicion). Extrae el objeto almacenado en la posición indicada. Es necesario indicar el tipo del objeto que se extrae.
Vehiculo v = (Vehiculo)vehiculos.get(0);

  • size(). Devuelve el número de electos almacenados en la lista.
int totalVehiculos = vehiculos.size();

Para mostrar los elementos almacenados en una lista se puede utilizar un for con una variable de control o un for ‘para todo’.

// recorrido de un ArrayList for con variable de control
for(int i=0; i < vehiculos.size(); i++) {
Vehiculo v = (Vehiculo)vehiculos.get(i);
System.out.println(v.getAtributos());
}
// recorrido de un ArrayList for con variable de control
for (Vehiculo v : vehiculos)
System.out.println(v.getAtributos());

El método add(Object o) almacena objetos en un ArrayList:

List <Vehiculo> vehiculos = new ArrayList<Vehiculo>();
vehiculos.add(new Turismo("4060 TUR","Skoda","Fabia",
"Blanco", 90.0, 2, false));
vehiculos.add(new Deportivo("4070 DEP","Ford","Mustang",
"Rojo", 150.0, 2000));
vehiculos.add(new Turismo("4080 TUR","VW","GTI ",
"Azul", 110.0, 2, false));
vehiculos.add(new Turismo("4090 TUR","SEAT","Ibiza",
"Blanco", 90.0, 4, false));
vehiculos.add(new Furgoneta("4100 FUR","Fiat","Ducato",
"Azul", 80.0, 1200, 8));

El ArrayList vehiculos almacena objetos de la clase Vehiculo. Para añadir un nuevo elemento se ejecuta el método add(Objet o) con un objeto de tipo Vehiculo. En este ejemplo se almacenan instancias de las clases Turismo, Deportivo y Furgoneta, todas ellas subclases de Vehiculo.

El método size() devuelve el número de objetos almacenados.

int totalVehiculos = vehiculos.size();

Programa que define un ArrayList para almacenar objetos de la clase Vehiculo y muestra su contenido por la consola. Para utilizar la clase ArrayList es necesario importar los paquetes:

import java.util.ArrayList;
import java.util.List;

import java.util.ArrayList;
import java.util.List;
public class ArrayListVehiculos {
public static void main(String[] args) {
// se declara e inicialización el ArrayList
List <Vehiculo> vehiculos = new ArrayList<Vehiculo>();
// se añaden objetos de la clase Vehiculo
vehiculos.add(new Turismo("4060 TUR", "Skoda", "Fabia",
"Blanco", 90.0, 2, false));
vehiculos.add(new Deportivo("4070 DEP", "Ford", "Mustang",
"Rojo", 150.0, 2000));
vehiculos.add(new Turismo("4080 TUR", "VW", "GTI ", "Azul",
110.0, 2, false));
vehiculos.add(new Turismo("4090 TUR", "SEAT", "Ibiza", "Blanco",
90.0, 4, false));
vehiculos.add(new Furgoneta("4100 FUR", "Fiat", "Ducato",
"Azul", 80.0, 1200, 8));
// muestra el contenido del ArrayList
System.out.println("Vehiculos");
for (Vehiculo v: vehiculos)
System.out.println(v.getAtributos());
}
}

La salida por la consola:

Vehiculos
Matrícula: 4060 TUR Modelo: Skoda Fabia Color: Blanco
Tarifa: 90.0 Disponible: true Puertas: 2 Marcha
automática: false
Matrícula: 4070 DEP Modelo: Ford Mustang Color: Rojo
Tarifa: 150.0 Disponible: true Cilindrada (cm3): 2000
Matrícula: 4080 TUR Modelo: VW GTI Color: Azul
Tarifa: 110.0 Disponible: true Puertas: 2 Marcha
automática: false
Matrícula: 4090 TUR Modelo: SEAT Ibiza Color: Blanco
Tarifa: 90.0 Disponible: true Puertas: 4 Marcha
automática: false
Matrícula: 4100 FUR Modelo: Fiat Ducato Color: Azul
Tarifa: 80.0 Disponible: true Carga (kg): 1200
Volumen (m3): 8



Espero haber ayudado en algo. Hasta la próxima oportunidad!

DESCARGAR PUBLICACIÓN










  

No hay comentarios:

Publicar un comentario en la entrada