Páginas

viernes, 18 de mayo de 2012

Iteradores (Recorrido de Contenedores)


Es un patrón de diseño utilizado para recorrer las colecciones. En java es una interfaz denominada Iterator. Esta formado por 3 métodos:

ü  boolean hasNext(): retorna true en caso de haber mas elementos y false en caso de llegar al final de iterator
ü  Object next(): retorna el siguiente elemento en la iteración
ü  void remove(): remueve el ultimo elemento devulto por la iteración

En las clases Vector, ArrayList, HashSet y TreeSet un iterador se consigue a través del método: Iterator iterator(). Se utiliza de la siguiente manera:


                List lasPersonas = new ArrayList();
                lasPersonas.add(“Juan”);
                lasPersonas.add(“Pepe”);
               
                Iterator it = lasPersonas.iterator();
               
                While(it.hasNext){
                String unaPersona = (String) it.next();
                }

En las clases HashMap y TreeMap se utiliza de la siguiente manera:

SortedMap sm=new TreeMap();
sm.put(3, "Intruccion");
sm.put(2, 5);

Iterator iterator = sm.entrySet().iterator();

while (iterator.hasNext()) {

Object claveValor = iterator.next();
System.out.println("Clave = Valor : "+claveValor;

}

4 comentarios:

  1. buen aporte, gracias. Pero como se lían estos de java para recorrer un simple array. Se hacen copia y montan películas espectaculares jajaja. Se que es para trabajar con una copia pero tela...

    ResponderEliminar
  2. UNA CONSULTA, EL ITERADOR CONSUME ES LINEAL O CONSTANTE

    ResponderEliminar
  3. metodo iterator() y listIterator() para que sirven?

    ResponderEliminar
    Respuestas
    1. amigo te dejo mas informacion en este link:

      https://www.google.com/search?safe=active&sxsrf=ACYBGNTYW7IJ-L12wZnHcqGhWUSOy_TCAg%3A1580340512467&source=hp&ei=IBUyXtqZGsLl_Qbnp7WoCg&q=metodo+iterator%28%29+y+listIterator%28%29+para+que+sirven%3F&oq=metodo+iterator%28%29+y+listIterator%28%29+para+que+sirven%3F&gs_l=psy-ab.3..33i160.590.590..974...1.0..0.209.209.2-1......0....2j1..gws-wiz.gm17Nirjko8&ved=0ahUKEwjaqfiW-6nnAhXCct8KHedTDaUQ4dUDCAY&uact=5

      Eliminar