USO DEL ARRAYLIST PROGRAMACION III ING. M. YUSARA FARAH CH.
QUE ES UN ARRAYLIST un arrayList es un arreglo pero tiene la ventaja de que su almacenamiento es dinámico, y esto significa que su tamaño puede crecer o decrecer en tiempo de ejecución, algo que con un arreglo normal no se puede hacer. Un arrayList es una estructura de almacenamiento dinámico, implementada por java, esta tiene la semejanza a una lista ligada , y como tal tiene la capacidad de crecer o decrecer en tiempo de ejecución.
Creacion de ArrayList De forma general un ArrayList en Java se crea de la siguiente forma: ArrayList nombreArray = new ArrayList (); Esta instrucción crea el ArrayList nombreArray vacío. Un arrayList declarado así puede contener objetos de cualquier tipo. Por ejemplo: ArrayList a = new ArrayList (); a.add ("Lenguaje"); a.add (3); a.add ('a'); a.add (23.5); Los elementos del arrayList a son: “Lenguaje” 2 ‘a’ 23.5 Es decir, un ArrayList puede contener objetos de tipos distintos .
Como crear ArrayList de un solo Tipo de dato Un array al que se le pueden asignar elementos de distinto puede tener alguna complicación a la hora de trabajar con él. Por eso, una alternativa a esta declaración es indicar el tipo de objetos que contiene. En este caso, el array solo podrá contener objetos de ese tipo. De forma general: ArrayList <tipo> nombreArray = new ArrayList <tipo>();
COMO SE CREA UN ARRAYLIST DE OBJETOS EN JAVA ArrayList < ClaseDelObjeto > NombreArrayList = new ArrayList < ClaseDelObjeto > () ; ClaseDelObjeto => La clase que vamos a emplear para el manejo de los datos del objeto. NombreArrayList => El nombre del ArrayList que vamos a manipular . Para usar la sintaxis ArrayList hay que importar la libreria que la contiene : Import java.util.ArrayList ;
Metodos Utiles para un ArrayList en Java Para realizar las operaciones comunes tales como ingresar, eliminar, buscar, modificar datos en un ArrayList encontraremos algunos métodos útiles para tal objetivo : add (X) -> Añade un valor u objeto al final del ArrayList . size () -> Retorna el tamaño del ArrayList . contains (X) -> Retorna true si existe el elemento X en el ArrayList . set(i, X) -> Modifica el elemento que esta en la posición i, por el nuevo elemento X. remove (X) -> Elimina el elemento X o en su defecto el elemento en la posición X. get (i) -> Obtiene el elemento en la posición i del Array List .
RECORRIDO DE UN ARRAY Podemos recorrerlo de forma clásica con un bucle for : for ( int i = 0;i< array.size ();i++){ System.out.println ( array.get (i )); } Con un bucle foreach : Si suponemos el array de enteros llamado numeros : for ( Integer i: numeros ){ System.out.println (i ); } Si el array contiene objetos de tipos distintos o desconocemos el tipo: for ( Object o: nombreArray ){ System.out.println (o ); }
Ejemplo Sencillo Crear una clase Persona y una clase Lista . Crear tres personas y listarlas . 1. Creamos la clase Persona con dos atributos : nombre (String) y edad ( int ). Creamos un constructor con parametros y un metodo mostrar : String nombre; int edad ;
Constructor y metodo mostrar public Persona( String nombre, int edad) { this.nombre = nombre; this.edad = edad; } public void mostrarDatos () { System. out.println ("Nombre: "+nombre); System. out.println ("Edad: "+edad); }
Clase Lista 2. Creamos una clase lista en la cual creamos un ArrayList de la clase Persona: ArrayList <Persona> lista= new ArrayList <Persona>(); 3. Creamos un metodo agregar Persona: public void addPersona (Persona per) { lista.add (per); }
Metodo Listar 4. Creamos un metodo listar para que atraves de un for se vayan mostrando todos los registros contenidos en la lista . public void listar() { System. out.println ("Se procede a mostrar los datos de las personas"); for (Persona tmp : lista) { // Uso de for extendido tmp.mostrarDatos (); } }
Main Principal public static void main(String[] args ) { Persona p= new Persona("Ana",20); Persona p1= new Persona("Jose",25); Persona p2= new Persona("Samuel",30); Array lista= new Array (); lista.addPersona (p); lista.addPersona (p1); lista.addPersona (p2); lista.listar (); }
RESULTADO EN PANTALLA
EJERCICIO EN CLASE Escribe un programa que ofrezca al usuario la oportunidad de crear un array , introducir datos o buscar un dato creado.