G.Bordel >Docencia >TAP Técnicas Actuales de Programación (curso 2010-2011)
desprotegido Intro. desprotegido Temario desprotegido Calendario desprotegido RPF desprotegido Recursos protegido Práctica protegido Gest. Alum.
tema_anterior Tema 6: El contenido de la biblioteca de clases tema_siguiente
  1. Introducción.
  2. El paquete java.lang.[ejercicios]
  3. Clases de utilidad (java.util) /iterator/.[ejercicios]
  4. Genéricos.[ejercicios]
  5. Ademdum: 1) uso de bibliotecas externas; 2) patrones diversos;.[ejercicios]

6.3- Clases de utilidad (java.util) /iterator/

Curso Java

Un paquete interesante por contener clases e interfaces de gran utilidad general es el java.util. Antes de nada mencionaremos que un buen grupo de clases pertenecientes a este paquete son estructuras de datos complejas que tienen en común el hecho de tratarse de estructuras capaces de almacenar colecciones de objetos y como tal comparten un determinado comportamiento similar aparte de las particularidades de cada una. En realidad el conjunto de clases e interfaces relacionados con las colecciones forman un "framework" bien definido que dejaremos para el final. Comenzaremos por comentar algunas de las clases e interfaces que se utilizan más frecuentemente de entre las que nos ofrece este paquete (Los elementos de los que es interesante echar un vistazo tienen un enlace a la documentación).

El "Framework" de colecciones.

Como hemos mencionado al principio, una buena parte de los elementos definidos en el paquete que nos ocupa se agrupan dentro de un esquema consistente conocido como "colecciones". En realidad la relación entre el paquete y las colecciones no es estricta ya que hay elementos pertenecientes a otros paquetes que forman parte de las colecciones (sin ir más lejos un interface -el Comparable- relacionado con el que veremos más adelante y que pasamos por alto al ver el paquete java.lang)

En realidad para comprender a fondo el "Framework" colecciones ha de tenerse conocimiento sobre una serie de estructuras de datos más o menos complejas, así como de algún patron de diseño y un cierto dominio de la orientación a objetos. Por tanto, dado que no presupondremos esto y no es objeto del presente curso, comentaremos someramente estas colecciones.

Una visión general nos permite ver que este "Framework" está formado por una serie de interfaces, clases, algoritmos y utilidades para Arrays. A su vez las clases pueden clasificarse como generales (las básicas), específicas (para situaciones concretas), heredadas(mantenidas de versiones Java anteriores a este framework), concurrentes, envoltorios (patrón "wrapper": una clase que recubre a otra), de conveniencia (implementaciones extremadamente específicas y de alto rendimiento) y abstractas (para estructurar adecuadamente el conjunto de clases). A continuación comentamos los elementos básicos de este Framework:

El subpaquete java.util.zip

Aunque no se trate de algo perteneciente al paquete java.util, no dejaremos pasar por alto la existencia de subpaquetes, y en particular de java.util.zip, ya que nos proporciona una capacidad muy interesante en ocasiones consistente en permitir trabajar directamente con datos compactados en el formato estándar de ZIP y GZIP. Es interesante mencionar que esta capacidad facilita la ejecución de programas que han de procesar grandes cantidades de datos repartidos en numerosos ficheros (u otros origenes) ya que si estos se encuentran agrupados y compactados el número de operaciones de lectura se reduce "dramáticamente" presentando una potencia incomparable frente a programas que no hagan uso de esta capacidad.

Siguiente punto: 6.4- Genéricos


Plataforma de soporte a curso y contenidos (c) German Bordel 2005.