Bienvenidos de nuevo al blog de la asignatura de programación de interfaces, la entrada de hoy será un poco corta debido a que el tema de hoy es un poco más práctico, así que esto nos asegura una sesión entretenida. Seguiremos hablando de colecciones, obviamente a estas alturas de colecciones genéricas de tipos de datos complejos o abstractos.

LISTAS LIGADAS

13

Interfaces para recorridos.

Toda colección genérica puede ser recorrida por medio de una interfaz genérica que nos permita recorrer de manera secuencial la colección. Existen dos interfaces que nos permiten realizar este tipo de operaciones, una es la interfaz Iterator<E> y la otra es la interfaz Enumeration<E>.

La interfaz Enumeration<E> nos permite trabajar con las colecciones Vector<E> y Hashtable<E> a diferencia de la Iterator<E> que nos permite recorrer la mayoría de los Objetos tipo Colección.

La principal diferencia entre estas dos interfaces radica en que la interfaz Iterador es más segura con respecto a fallos. Por ejemplo, si estas usando un iterador para recorrer una coleccione puedes estar seguro de que no habrá otro tipos de modificaciones a la colección que se ejecuten al mismo tiempo sobre la misma colección, esto claro solo es posible si trabajamos en ambientes multihilos.

Claro que las enumeraciones no necesariamente son peores que los iteradores, tenemos que analizar correctamente cual es el problema a resolver, si no se trata de un problema donde la concurrencia sea un factor que se deba tomar en cuenta podríamos optar por tener una enumeración ya que son el doble de rápidas y usan mucho menos memoria que un iterador común.