Negocios

Páginas: 13 (3142 palabras) Publicado: 21 de mayo de 2010
Colecciones en Java
Java tiene desde la versión 1.2 todo un juego de clases e interfaces para guardar colecciones de objetos. En él, todas las entidades conceptuales están representadas por interfaces, y las clases se usan para proveer implementaciones de esas interfaces. Una introducción conceptual debe entonces enfocarse primero en esas interfaces.
La interfaz nos dice qué podemos hacer conun objeto. Un objeto que cumple determinada interfaz es “algo con lo que puedo hacer X”. La interfaz no es la descripción entera del objeto, solamente un mínimo de funcionalidad con la que debe cumplir.
Como corresponde a un lenguaje tan orientado a objetos, estas clases e interfaces están estructuradas en una jerarquía. A medida que se va descendiendo a niveles más específicos aumentan losrequerimientos y lo que se le pide a ese objeto que sepa hacer.
Collection
La interfaz más importante es Collection. Una Collection es todo aquello que se puede recorrer (o “iterar”) y de lo que se puede saber el tamaño. Muchas otras clases extenderán Collection imponiendo más restricciones y dando más funcionalidades. Es de notar que el requisito de "que se sepa el tamaño" hace inconvenienteutilizar estas clases con colecciones de objetos de las que no se sepa “a priori” la cantidad (ésto podría considerarse una limitación de este framework).
Por las dudas vuelvo a aclarar: No puedo construir una Collection. No se puede hacer “new” de una Collection, sino que todas las clases que realmente manejan colecciones “son” Collection, y admiten sus operaciones.
Las operaciones básicas de unacollection entonces son:
add(T)
Añade un elemento.
iterator()
Obtiene un “iterador” que permite recorrer la colección visitando cada elemento una vez.
size()
Obtiene la cantidad de elementos que esta colección almacena.
contains(t)
Pregunta si el elemento t ya está dentro de la colección.
iterator()
Obtiene un “iterador” para recorrer la colección.
Si yo tengo un objetoCollection hay muchas cosas que no puedo asumir. No puedo asumir que el orden en el que lo recorro sea relevante, es decir, que si lo recorro de nuevo vea los elementos en el mismo orden en el que los vi la primera vez. Tampoco puedo asumir que no hay duplicados. No puedo asumir características de rendimiento: Preguntar si existe un objeto en la colección puede tardar desde muy poco hasta... mucho =).Una capacidad de un objeto Collection es la de poder ser recorrido. Como a este nivel no está definido un orden, la única manera es proveyendo un iterador, mediante el método iterator(). Un iterador es un objeto “paseador” que nos permite ir obteniendo todos los objetos al ir invocando progresivamente su método next(). También, si la colección es modificable, podemos remover un objeto durante elrecorrido mediante el método remove() del iterador. El siguiente ejemplo recorre una colección de Integer borrando todos los ceros:
void borrarCeros(Collection ceros)
{
Iterator it = ceros.iterator();
while(it.hasNext())
{
int i = it.next();
if(i == 0)it.remove();
}
}
En este ejemplo hago uso de la conversión automática entre Integer e int.
A partir de Java 6 hay una manera simplificada de recorrer una collection (que sirve si no necesitamos borrar elementos). Se hace mediante una nuevo uso del keyword for:
void mostrar(Collection col)
{
for(Object o :col)
System.out.println(o);
}
Internamente este código no hace otra cosa que obtener el iterador, pero queda mucho más elegante y legible de esta manera.
Hay cuatro interfaces que extienden Collection: List, Set, Map y Queue. Cada una de ellas agrega condiciones sobre los datos que almacena y como contrapartida ofrece más funcionalidad. A continuación cuento...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • NEGOCIOS SON NEGOCIOS
  • negocios son negocios
  • negocio a negocio
  • negocios son negocios
  • NEGOCIOS SON NEGOCIOS
  • Negociable Y No Negociable
  • Negocios Y Negocios
  • negocios son negocios

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS