Sie sind auf Seite 1von 20

Java: Componentes SWING

Antes de escribir la primera lnea de un programa, el problema debe estar resuelto


Jorge Becerra

Algoritmia y Programacin

Java: ArrayList
Contenido
Definicin Mtodos Comparacin Ejemplos

Algoritmia y Programacin

Java: ArrayList
Definicin Los ArrayList se usan para almacenar objetos en un arreglo unidimensional o lista. Su tamao puede crecer o disminuir de acuerdo a las necesidades de la aplicacin.

Para hacer uso de los ArrayList se debe llamar al paquete: import java.util.*;
Algoritmia y Programacin

Java: ArrayList
Creacin Para crear un lista se usa la siguiente sintaxis:
ArrayList nombre = new ArrayList();

ArrayList <tipo> nombre = new ArrayList <tipo>();

ArrayList: clase predefina para construir listas volcadas en arrays. nombre: indica el nombre de la lista. ArrayList(): constructor de la clase ArrayList. tipo: tipo de los elementos de la lista.

Algoritmia y Programacin

Java: ArrayList
Mtodos
A diferencia de un arreglo la clase ArrayList proporciona mtodos para el manejo de la lista. Algunos de los mtodos ms comunes son: 1. Aadir un elemento: para aadir un elemento al final de la lista se dispone del mtodo add(elemento). Por ejemplo: String cad = new String(Hola); lista.add(cad);
En la posicin cero de lista se almacena cad, un objeto de tipo String con el valor Hola.

lista

Hola 0

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

Java: ArrayList
Mtodos
2. Insertar un elemento: para insertar un elemento en una determinada posicin de la lista se dispone del mtodo add(posicin, elemento). Por ejemplo:

int y = new Integer(50); int z = 1; lista.add(z, y);

En la posicin uno de lista se almacena y, un objeto de tipo Integer con el valor 50. El valor de z debe ser el siguiente valor consecutivo respecto al tamao de la lista, de lo contrario se produce una excepcin.

lista

Hola 0

50 1
6

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

Java: ArrayList
Mtodos
3. Recuperar un elemento: para recuperar un elemento de una determinada posicin de la lista se dispone del mtodo get(posicin). Por ejemplo:

int i = 0; lista.get(i);

El mtodo get retorna o devuelve el objeto que se encuentre en la posicin 0 del lista. En este caso el objeto con el valor Hola.

lista

Hola 0

50 1
7

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

Java: ArrayList
Mtodos
4. Modificar un elemento: para modificar un elemento determinado de la lista remplazndolo por otro se dispone del mtodo set(posicin, elemento). Por ejemplo:

int w = new Integer(35); int i = 1; lista.set(i, w);

La posicin 1 de la lista se modifica cambiando el objeto anterior y=50 por el nuevo objeto w = 35. Si el

valor de i es una posicin inexistente en el ArraList, se


producir una excepcin.

lista

Hola 0

35 1
8

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

Java: ArrayList
Mtodos
5. Eliminar elementos: el mtodo clear permite eliminar todos los elementos de la lista y remove permite eliminar un elemento determinado. Por ejemplo: int i = 1; lista.remove(i); lista lista Hola 0
Luego de remover un elemento, la lista disminuye su tamao en uno dinmicamente.

lista.clear();

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

Java: ArrayList
Mtodos
6. Buscar elementos: el mtodo contains devuelve true si la lista contiene el elemento especificado, y los mtodos indexOf y lasIndexOf devuelven, respectivamente, el ndice en la lista del primero y del ltimo elemento especificado, o -1 si dicho elemento no se localiza. Por ejemplo:

String w = new
String(Mundo); if(lista.contains(x)) { lista.set(lista.indexOf(x), w); }

El mtodo contains verifica si la lista contiene el objeto x, si es verdadero, se recupera con indexOf el ndice o posicin del objeto x dentro de la lista. El ndice es el primer parmetro del mtodo set. El objeto que se encuentre en esa posicin se modifica con el nuevo objeto w con valor Mundo.

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

10

Java: ArrayList
Mtodos
7. Tamao: para conocer el tamao de una lista se dispone del mtodo size. Por ejemplo:

int elementos = lista.size();

lista

Hola 0

35 1

En la variable entera elementos se almacena el valor 2

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

11

Java: ArrayList
Comparacin

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

12

Java: ArrayList
Comparacin

UNIVERSIDAD DEL VALLE Escuela de Ingeniera de Sistemas y Computacin

13

Java: ArrayList
Animal nombre getNombre()
Animal perro = new Animal(Pluto);

Ejemplo
P
Animal gato = new Animal(Silvestre);

Animal abeja = new Animal(Maya);

S M

ArrayList<Animal> animales = new ArrayList<Animal>(); 0 1 2 3 4 5

Algoritmia y Programacin

Java: ArrayList
Ejemplo
public class Animal { private String nombre;
Animal nombre getNombre()

public Animal(String nom){ nombre = nom; } public String getNombre(){ return nombre; } }

Algoritmia y Programacin

15

import java.util.*; public class UsaAnimal { public static void main(String[] args) { ArrayList<Animal> animales= new ArrayList<Animal>(); Definicin de la lista animales que almacena instancias de la clase Animal

Animal abeja= new Animal("Maya"); Animal perro= new Animal("Pluto"); . animales.add(abeja); animales.add(perro);

Instancias de clase Animal

Se adiciona los dos objetos anteriores a la lista animales

animales.add(1, new Animal("Silvestre"));

Se inserta un nuevo objeto en la lista animales. El primer parmetro indica la posicin dentro de la lista y el segundo una instancia de la clase Animal

for(int i=0; i<animales.size(); i++) System.out.println("Elemento " + i + ": " + animales.get(i).getNombre()); } } Muestra los elementos que se encuentran almacenados en la lista

Algoritmia y Programacin

16

System.out.println("Numero de elementos del ArrayList: " + animales.size()); Primero se muestra el contenido de la lista en la posicin 0; se modifica el elemento que se encuentra en esa posicin y luego se vuelve a mostrar el contenido de la lista.

System.out.println("Elemento 0: " + animales.get(0).getNombre()); animales.set(0, new Animal("Piolin")); System.out.println("Elemento 0: " + animales.get(0).getNombre());

if(animales.contains(perro)) { System.out.println("Elemento: " + animales.get(animales.indexOf(perro)).getNombre()); } else { System.out.println("El objeto no se encuentra en el ArrayList"); }

animales.remove(0); System.out.println("Numero de elementos del ArrayList: " + animales.size()); animales.remove(perro); System.out.println("Numero de elementos del ArrayList: " + animales.size()); animales.clear(); System.out.println("Numero de elementos del ArrayList: " + animales.size());
} } Se puede eliminar un elemento de la lista por medio del mtodo revome() indicando la posicin o el nombre del objeto. Tambin se puede eliminar todo el contenido de la lista a travs del mtodo clear().
17

Algoritmia y Programacin

Java: ArrayList
Ejercicio propuesto
La aplicacin cuenta con una barra de mens con dos mens principales: Archivo e Integrantes. a los que se pueden acceder directamente desde teclado con la combinacin de teclas Alt+A y Alt+I respectivamente. Archivo cuenta con el submen Salir e Integrantes con el submen Quienes somos . Los submens cuentan con accesos directos desde teclado, Ctrl-S y Ctrl-Q respectivamente. Al dar clic sobre el submen Salir la aplicacin finaliza y al dar clic sobre el submen Quienes somos la aplicacin muestra una mensaje de dialogo con el nombre de los integrantes. La aplicacin presenta cuatro posibles acciones El botn << muestra la primera imagen del album. El botn < muestra la imagen anterior. El botn > muestra la imagen siguiente. El botn >> muestra la ltima imagen. La ventana muestra, adicionalmente, la posicin de la imagen dentro de la lista (ndice).

Algoritmia y Programacin

18

Java: ArrayList
Ejercicio propuesto

Algoritmia y Programacin

19

Java: ArrayList
Becerra Santamaria, Csar A. Enseanza de la programacin con Java. Kimpres Ltda. 2008. Capitulo 11.

J. Ceballos. Java: Curso de programacin. Mxico: Alfaomega Grupo Editores, S.A. de C.V. 2006 pp. 195-199.

Algoritmia y Programacin

20