Colecciones En Java

Páginas: 28 (6785 palabras) Publicado: 9 de mayo de 2012
1

Estructuras de datos en Java :
Collections
Martín Pérez Mariñán
martin@kristalnetworks.com
Una de las necesidades de cualquier lenguaje de programación es que proporcione una
serie de utilidades que permitan al desarrollador crear estructuras de datos. El lenguaje
Java mediante el API Collections pone a nuestra disposición un conjunto de clases destinadas a crear estructuras de datosque podremos utilizar en todas nuestras aplicaciones.
En este artículo veremos las características fundamentales de este API y algunos trucos
para mejorar su rendimiento.

Introducción al API Collections
El API Collections fue introducido con la versión 1.2 de Java 2 Standar Edition y su objetivo
fundamental es proporcionar una serie de clases e interfaces que nos permitan manejar
diversosconjuntos de datos de una manera estandar. Dentro de esta API nos vamos a
encontrar tanto con estructuras de datos como con algoritmos para utilizar dichas estructuras.
La base del API Collections está formada por un conjunto de interfaces para trabajar con
conjuntos de datos. Entender el funcionamiento de estas interfaces significará entender el funcionamiento de la totalidad de la API. En lasiguiente figura podemos ver la estructura de estas
interfaces.

E structuras de datos en Java : Collections: Introducción al API Collections

2

Como se puede apreciar en la figura tenemos dos raices en la jerarquía : Collection y Map.
Esto es debido a que existe una ligera diferencia de funcionamiento entre ambas, básicamente
y sin entrar en detalles podríamos decir que una Collectiontrabaja sobre conjuntos de
elementos singulares mientras que un Map trabaja sobre pares de valores, por lo tanto existen
pequeñas diferencias entre los métodos necesarios por unas y otras; veremos más detalles en
los siguientes apartados.

La interfaz Collection
Esta interfaz como vimos anteriormente es una de las raices de la jerarquía. Representa un
conjunto de objetos de una manerageneralizada. Esta interfaz define una serie de métodos
que serán los que el resto de interfaces, o clases que nosotros realicemos, deban implementar :

• Métodos para agregar y elminar elementos
boolean add(Object element)
boolean remove(Object element)

• Métodos para realizar consultas
int size()
boolean isEmpty()
boolean contains(Object element)

• Métodos para recorrer todos loselementos
Iterator iterator()

• Métodos para realizar varias operaciones simultáneamente
boolean containsAll(Collection collection)
boolean addAll(Collection collection)
void clear()
void removeAll(Collection collection)
void retainAll(Collection collection)

Estos métodos tienen un nombre bastante intuitivo que nos indica fácilmente la operación
que realizan. Como se puede apreciar podemosañadir un elemento (add ) o añadir varios
elementos (addAll), así como eliminarlos (remove/removeAll). Podemos consultar si uno o
más elementos se encuentran en el conjunto de datos (contains/containsAll) así como ver el
número de elementos de que disponemos ( size ) o ver si no tenemos ninguno ( isEmpty ).

E structuras de datos en Java : Collections: La interfaz Collection

3

Podemoseliminar todos los elementos ( clear ) y obtener una vista especial i terator para
recorrer la colección de datos ( lo veremos más adelante ). El método retainAll elimina del
conjunto de datos todos los elementos excepto los especificados.
Como se ve en el título de este apartado, Collection es una interfaz, es decir, no proporciona
ninguna implementación concreta. La base para las clasesconcretas del API se encuentra pues
en otro lugar diferente. Este lugar es la clase AbstractCollection. Esta clase proporciona
implementaciones por defecto para la gran mayoría de los métodos definidos por la interfaz de
Collection. Por lo tanto si queremos crear nuestra estructura de datos tenemos dos posibilidades :

• Crear una clase que implemente todos los métodos de Collection.
• Crear...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • coleccion java mysql
  • colecciones (Java Collections Framework )
  • Java Colecciones
  • Colecciones e Interfaces de Java
  • Inv Colecciones En Java
  • coleccion
  • Coleccion
  • el coleccionista

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS