Sie sind auf Seite 1von 3

Colecciones

Una coleccin es una estructura de datos (en realidad, un objeto) que puede guardar referencias a otros objetos. Por lo general, las colecciones contienen referencias a objetos que son del mismo tipo. Las interfaces para trabajar con colecciones en java declaran a travs de mtodos las operaciones genricas que deben realizar diferentes tipos de colecciones. Algunas interfaces de este marco de trabajo son: Interfaz Collection Set List Map Queue Descripcin Es la interfaz raz en la jerarqua de colecciones, a partir de ella se derivan las interfaces Set, Queue y List. Es una coleccin tipo conjunto que no admite elementos duplicados Coleccin ordenada (esto significa que cada elemento tiene una posicin en la lista) que puede contener elementos duplicados Coleccin que asocia una clave a cada valor y no admite claves duplicadas Por lo general es una coleccin del tipo FIFO

Cada interfaz posee una serie de colecciones (Clases) ms especficas, algunas de ellas son:

INTERFAZ List

COLECCIN ArrayList Vector LinkedList

Set

Map Stack

APLICACIN Arreglo que puede modificar su tamao Igual que ArrayList pero est sincronizado Implementa la interfaz List como una lista doblemente enlazada (Es de estilo FIFO) HashSet Es un conjunto no ordenado, utiliza Hashcode TreeSet Almacena los elementos en forma de rbol LinkedHashSet Es una versin ordenada de HashSet HashMap Es un diccionario (llave,dato) no soporta ordenamiento HashTable Similar a HashMap pero sincronizado LinkedHashMap Versin ordenada (segn insercin) de HashMap Stack Lista que se comporta como una pila (LIFO)

LinkedList
Es una lista enlazada donde cada nodo contiene elementos (objetos, otras listas, etc) y uno o dos punteros hacia posiciones de memoria que apuntan al anterior o siguiente nodo. Es muy til cuando se quiere insertar o eliminar elementos al principio o al final de la lista. No permite acceder a un elemento en concreto de la lista directamente sin recorrer antes los anteriores.

Algunos mtodos importantes de la clase LinkedList son: add(Object obj): agrega el objeto obj al final de la lista. addFirst(Object obj): agrega el objeto obj al inicio de la lista addLast(Object obj): agrega el objeto obj al final de la lista. add(int index, Object obj): agrega el objeto obj en el ndice index removeFirst(): elimina el primer elemento de la lista removeLast(): elimina el ltimo elemento de la lista remove(Object obj): elimina el primer elemento en la lista que coincida con el parmetro obj remove(int index): elimina el elemento que se encuentre en la posicin indicada por el parmetro index getFirst(): retorna el primer elemento de la lista getLast(): retorna el ltimo elemento de la lista isEmpty(): retorna true si la lista no contiene elementos size(): retorna la cantidad de elementos que se encuentran actualmente en la lista clear(): elimina todos los elementos de la lista dejndola vaca.

Ejemplo:
La implementacin de la siguiente clase permite crear una lista de nombres y manipularla de diferentes formas. Pruebe su funcionamiento. public class Main { public static void main(String[] args) { //declaracin de una LinkedList de objetos String LinkedList<String> myList=new LinkedList<String>(); //objeto de tipo Integer para guardar la opcin que elija el usuario Integer menu; do{ menu = Integer.parseInt(JOptionPane.showInputDialog("Menu\n\n1. Insertar al inicio\n2. Insertar al final\n3. Eliminar al inicio\n4. Eliminar al final\n5. Borrar toda la lista\n6. Salir"));

switch (menu) { case 1:myList.addFirst(JOptionPane.showInputDialog("Ingrese el valor a agregar")); JOptionPane.showMessageDialog(null,""+myList); break; case 2:myList.addLast(JOptionPane.showInputDialog("ingrese el valor a agregar")); JOptionPane.showMessageDialog(null,""+myList); break; case 3:myList.removeFirst(); JOptionPane.showMessageDialog(null,""+myList); break; case 4:myList.removeLast(); JOptionPane.showMessageDialog(null,""+myList); break; case 5:myList.clear(); JOptionPane.showMessageDialog(null,""+myList+"Lista Vacia"); break; } } while(menu!=6); System.exit(0); //termina la ejecucin actual de la aplicacin } } Para el ejemplo anterior, agregue las opciones necesarias al men, para implementar los mtodos vistos anteriormente y que no han sido incluidos en el ejemplo. Construya la interfaz grfica para esta sencilla aplicacin.

Bibliografa: Deitel, Harvey M. Cmo programar en Java 7 Ed. 2008 Horstmann, Cay. Java Concepts 6 Ed. 2010 Martin, Antonio J. Java 2 curso prctico 3 Ed. 2010 Gutirrez, Julian E. Manejo de grupos de atributos. Marzo 2011
http://www.webtutoriales.com/articulos/estructuras-de-datos-en-java