Está en la página 1de 6

- 1-

COLECCIONES
Una coleccin es simplemente un objeto que agrupa varios elementos en uno solo. Para
ello Java dispone de una serie de clases predefinidas muy potentes para el manejo de
informacin.
Se utilizan para guardar y manipular datos as como para transmitir informacin entre
mtodos.
Java.util.Collection es la raz de las colecciones y contiene la definicin de todos los
mtodos genricos que pueden ser utilizados por las clases predefinidas.
Su tamao es din!mico "vara seg#n las necesidades$.
Solo puede almacenar datos de tipo complejo.
Tipos de colecciones:
HashSet% &oleccin con un orden aleatorio. Permite aadir' eliminar y buscar de una
forma r!pida. (o admite duplicados.
TreeSet% &oleccin ordenada. )as lento para modificar y buscar que un *as+set' pero
mantiene los elementos ordenados de forma natural o seg#n compare,o
implementado en la clase. (o admite duplicados.
LinkedHashSet% &oleccin seg#n el orden de insercin. Permite aadir' eliminar y
buscar de una forma r!pida. (o admite duplicados.
ArrayList% -ista implementada utilizando un array de dimensin modificable' seg#n se
aaden los objetos. .s costoso aadir o borrar un elemento al principio si la lista es
grande y es r!pido para el acceso aleatorio. /dmite duplicados.
LinkedList% -ista doblemente enlazada. )odificacin poco costosa para cualquier
tamao' pero lento el acceso. 0til para implementar listas y colas. /dmite duplicados.
Definicin de una Coleccin:
TipoColeccion <tipoDato> varObj = new TipoColeccion <tipoDato>()

Ejemplo:
HashSet <String> ciudades = new HashSet <String>();
// defino la coleccin de datos ciudades y creo el objeto
- 2-
Java.util.Collection
Los mtodos del interfa Collection!
int sie"# $
(1 de elementos que contiene
%oolean is&m'ty"#$
&omprueba si est! vaca
%oolean contains "(%)ect element# $
&omprueba si contiene ese elemento
add "(%)ect element#$
/ade un elemento
remove "(%)ect element# $
.limina un elemento
*terator iterator"#$
2evuelve una instancia del 3terator
Java.util.Iterator
.l interfaz 3terator representa un componente que permite recorrer todos los elementos de
una coleccin.
,odas las colecciones ofrecen una implementacin de 3terator por medio del mtodo%
public 3terator iterator"$4
Sus mtodos son%
%oolean has+e,t"#$
Si tiene m!s elementos
(%)ect ne,t"#$
devuelve el elemento actual y se queda apuntando al siguiente
void remove"#$
elimina el elemento actual
.jemplo de utilizacin para mostrar el contenido de la coleccin%

Iterator it = coleccion.iterator();
while (it.hasNext()){
System.out.println (it.next().toString);
}
- --
Implementaciones:



*
n
t
e
r
f
a
c
e
s

*m'lementaciones
Set *as+Set ,reeSet -in5ed*as+Set
List /rray-ist -in5ed-ist
.a' *as+)ap ,ree)ap -in5ed*as+)ap
Colecciones sin duplicados. java.util.Set
*ereda del interfaz &ollection' pero no define ning#n mtodo nuevo.
6epresenta colecciones que no permiten tener ning#n elemento duplicado.
java.util.Set
.7isten distintas implementaciones de este interfaz%
HashSet
6ealiza todas las operaciones +abituales "aadir' borrar' comprobar$.
8frece un acceso r!pido cuando dic+o acceso es aleatorio. Su orden de
iteracin es impredecible.
LinkedHashSet Su orden de iteracin es su orden de insercin.
TreeSet
Su orden de iteracin depende de la implementacin que los elementos
+agan del interface Com'ara%le' es decir' todos los elementos est!n
ordenados en su orden natural por defecto o como se indique en el
mtodo com'areTo de la clase.
- /-
Colecciones con duplicados. java.util.List
*ereda de la interfaz Collection' implementan el interface List.
3ncorpora nuevos mtodos de tipo posicional' posibilitando el acceso a los elementos a
travs de un ndice' por lo que se podr!%
/cceder a un elemento concreto a travs de una posicin.
3nsertar un elemento en una posicin.
6epresenta colecciones que s0 permiten tener elementos duplicados.
java.util.List
-as clases que se implementan son%
ArrayList
9unciona como un /rray sin preocuparse del tamao y ofrece un tiempo
de acceso ptimo cuando este tipo de acceso es aleatorio' pero lento si
se desea insertar o eliminar en medio de la lista.
LinkedList
Su orden de interaccin es su orden de insercin. Permite manejar listas
de objetos como una cola o una pila. .l acceso es r!pido si se realiza al
principio o al final de la lista' en caso contrario se +ace lento y su
modificacin es poco costosa. 3mplementa add9irst"$' add-ast"$'
get9irst"$' get-ast"$' remove9irst"$ y remove-ast"$.

/ade los mtodos%
Object get(int indice);
2evuelve el elemento de esa posicin.
Object set(int indice, Object x);
6eemplaza el elemento de esa posicin por el objeto 7.
Void add(int indice, Object x);
3nserta el elemento 7 en esa posicin.
Object remove(int indice);
.limina el elemento de esa posicin.
- 1-

boolean addAll(int indice, Collection c);
3nserta todos los elementos en esa posicin.
int indexOf(Object x);
2evuelve la posicin de la primera ocurrencia de ese elemento.
int lasIndexOf(Object x);
2evuelve la posicin de la #ltima ocurrencia de ese elemento.
8tros mtodos para LinkedList%
get9irst"$' get-ast"$' remove9irst"$' remove-ast"$' add9irst"$' add-ast"$

java.util.Map
(o +ereda de &ollection' sin embargo se utiliza para tratar colecciones de objetos.
6epresenta colecciones de valores con parejas de objetos' formados por una clave y un
valor. "-a clave +a de ser String$.
3mplementa las clases%
Hash.a'
8frece un tiempo de acceso ptimo cuando dic+o acceso es aleatorio.
Su orden de insercin e iteracin es imprevisible.
LinkedHash.a' 3teracin seg#n orden de insercin.
Tree.a'
Su insercin e iteracin depender! de la implantacin o no del mtodo
&ompare,o"$.

/ade los mtodos%
Object put(Object clave, Object valor);
3nserta una pareja.
Object get(Object clave);
/ccede al valor de una clave.

- 2-
Object remove(Object clave);
.limina una pareja.
boolean containsKey(Object clave);
&omprueba la e7istencia de una clave.
boolean containsValue(Object valor);
&omprueba la e7istencia de un valor
int size();
(#mero de parejas.
Public Set KeySet();
2evuelve todas las claves


3orma de recorrer una colecci4n de ti'o .a'!




Set s = codigos.keySet();
Iterator it = s.iterator();
While (it.hasNext()){
String aux= (String) it.next();
System.out.println(aux + " : " + codigos.get(aux));
}

También podría gustarte