una recorrer objetos metodos lista linkedlist imprimir español crear como java collections linked-list iterator listiterator

java - recorrer - ¿Cómo iterar los elementos de LinkedList en orden inverso?



recorrer list<> java (2)

Creo que quieres un descendingIterator http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#descendingIterator ()

Iterator lit = obj.descendingIterator(); System.out.println("Backward Iterations"); while(lit.hasNext()){ System.out.println(lit.next()); }

Soy nuevo en Java Collections y mi duda es por qué no puedo atravesar un elemento de la lista vinculada en direcciones retrospectivas. A continuación, explicaré lo que hice y aclaro mis dudas.

  1. Creé el iterador de interfaz para las iteraciones directas y el listiterator para las iteraciones hacia atrás. ¿Por qué las iteraciones hacia atrás no funcionan?
  2. ¿Puedo usar iterator y listiterator en el mismo programa para recorrer un conjunto de elementos en iteraciones hacia adelante y hacia atrás?

    Fragmento de código :

    import java.util.*; class NewClass{ public static void main(String args[]){ LinkedList<String> obj = new LinkedList<String>(); obj.add("vino"); obj.add("ajith"); obj.add("praveen"); obj.add("naveen"); System.out.println(obj); System.out.println("For loop "); //using for loop for(int count=0; count < obj.size(); count++){ System.out.println(obj.get(count)); } System.out.println("For each loop "); //using foreach loop for(String s:obj){ System.out.println(s); } System.out.println("Whileloop "); //using whileloop int count=0; while(obj.size() > count){ System.out.println(obj.get(count)); count++; } System.out.println("Forward Iterations "); //using iterator Iterator it = obj.iterator(); while(it.hasNext()){ System.out.println(it.next()); } ListIterator lit = obj.listIterator(); System.out.println("Backward Iterations"); while(lit.hasPrevious()){ System.out.println(lit.previous()); } } }

    Salida

    [vino, ajith, praveen, naveen] For loop vino ajith praveen naveen For each loop vino ajith praveen naveen Whileloop vino ajith praveen naveen Forward Iterations vino ajith praveen naveen Backward Iterations

¿Dónde está el resultado de las Iteraciones inversas? Por favor, que alguien me ayude. Gracias de antemano


Puede hacerlo, pero necesita usar el método listIterator(int index) para especificar que desea comenzar al final de la List .

LinkedList<String> obj = new LinkedList<String>(); obj.add("vino"); obj.add("ajith"); obj.add("praveen"); obj.add("naveen"); ListIterator<String> it = obj.listIterator(obj.size()); while (it.hasPrevious()) System.out.println(it.previous());