2017-11-03 11 views
-2
static ArrayDeque<Integer> bfs = new ArrayDeque<Integer>(); 
static Iterator<Integer> revbfs = new ArrayDeque<Integer>(); 

revbfs=bfs.descendingIterator(); 

非常に簡単な質問です。私は逆順でbfsを返したい。 descendingIteartorメソッドがありますが、返すものがわからないだけです。この場合、revbfsはどのようなものになりますか?逆の注文をするにはどうすればいいですか?Javaの配列Dequeデータ構造のItearator

+2

あなたは自分でイテレータの動作を調べたりテストしたりするコードを書くことを妨げているのは何ですか? – Kostiantyn

答えて

0

まあ、これはこのコードをテストするのは非常に簡単です:

public class Test { 
    static Deque<Integer> bfs = new ArrayDeque<>(); 

    public static void main(String[] args) { 
     bfs.add(1); 
     bfs.add(2); 
     bfs.add(3); 

     Iterator<Integer> revbfs = bfs.descendingIterator(); 
     while(revbfs.hasNext()) { 
      System.out.println(revbfs.next()); 
     } 
     // output is 3, 2, 1 
    } 

} 

また、official docsは、この場合には、非常に役立つことができます:

イテレータdescendingIterator()

戻り値 順番に、この両端キュー内の要素の反復子を返します。要素は、最後の (尾)から先頭(先頭)の順に返されます。

特定のクラス/メソッドの動作が不明な場合は、常に検索、読み取り、テストを行ってください。