INSFERPED-DAW


Percorrer unha colección cun Iterator

§ Percorrer unha colección, ArrayList de Strings, utilizando o método '.get()' e un bucle 'for' para percorrer o ArrayList.


              import java.util.ArrayList;

              ArrayList<String> nomes = new ArrayList<String>();

              nomes.add("Perry");
              nomes.add("Mason");
              nomes.add("Jack");
              nomes.add("Burton");


              for(int i = 0; i < nomes.size(); i++) {
                  System.out.println(nomes.get(i));
              }
            

§ Percorrer unha colección, ArrayList de Strings, utlizando Iterators para percorrer o ArrayList.


              import java.util.ArrayList;
              import java.util.Iterator;

              ArrayList<String> nomes = new ArrayList<String>();

              nomes.add("Perry");
              nomes.add("Mason");
              nomes.add("Jack");
              nomes.add("Burton");

              /* Creamos o 'iterator' que nos permitirá percorrer o ArrayList. */
              //
              //  Para crealo, chamamos o método .iterator() que ten ArrayList. Éste
              //  devólvenos un 'iterator' do ArrayList,  e gardámolo nunha
              //  variable de tipo Iterator á cal indicámoslle o tipo do ArrayList
              //  entre '<>'; neste caso String.

              Iterator<String> it = nomes.iterator();
              //  ^       ^                ^.. método que pertence ó obxeto 'nomes',
              //  |       |                    que é un ArrayList de Strings.
              //  |       |                    Devolve un 'iterator' sobre 'nomes'.
              //  |       |
              //  |       .. ó 'iterator' hai que especificarlle o tipo da colección
              //  |          que vai percorrer. Neste caso percorre un ArrayList que
              //  |          é de tipo String.
              //  |
              //  .. o tipo Iterator que indica que o obxeto creado 'it', será un
              //     'iterator'.


              /* Percorremos o ArrayList 'nomes' utilizando Iterator 'it' */
              //
              //  Utilizamos un bucle tipo 'while', que se repite namentres o
              //  predicado sexa verdadeiro. Os obxetos de tipo Iterator teñen un
              //  método .hasNext() que devolve verdadeiro se aínda quedan elementos
              //  no ArrayList por percorrer, e falso unha vez non queden máis
              //  elementos no ArrayList que percorrer.
              //
              //  Se o ArrayList ten máis elementos, para obter o seguinte
              //  usamos o método .next() de Iterator. Neste caso .next() devolverá
              //  un String.

              while(it.hasNext()) {
                  System.out.println(it.next());
                  //                     ^.. devolve o seguinte String do ArrayList.
              }