13

How can i iterate a ArrayDeque in reverse?

I would normally do this for an array but it's not indexable.

for (int i = delegate.size() - 1; i >= 0; i--) {}

thanks

4

2 回答 2

26

您可以使用该方法descendingIterator()获取一个ArrayDeque<T>反向迭代的迭代器。

Iterator<T> it = arrayDeque.descendingIterator();
while(it.hasNext()) {
    // do something with it.next()
}
于 2013-09-12T09:47:53.493 回答
-1

试试这个

元素将从最后一个到第一个以相反的顺序返回。

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */

class List {
   public static void main(String[] args) {
      // creating a TreeSet 
      TreeSet <Integer>treeadd = new TreeSet<Integer>();

      // adding in the tree set
      treeadd.add(1);
      treeadd.add(13);
      treeadd.add(17);
      treeadd.add(2);

      // create descending iterator
      Iterator iterator;
      iterator = treeadd.descendingIterator();

      // displaying the Tree set data
      System.out.println("Descending order: ");     
      while (iterator.hasNext()){
          System.out.println(iterator.next() + " ");
      }
   }    
} 
于 2013-09-12T09:59:10.113 回答