Java 数组双端队列数据结构中的迭代器
Itearator in Array Deque Data Structure in Java
static ArrayDeque<Integer> bfs = new ArrayDeque<Integer>();
static Iterator<Integer> revbfs = new ArrayDeque<Integer>();
revbfs=bfs.descendingIterator();
非常快的问题。我想以相反的顺序 return bfs。有 descendingIteartor 方法,我只是不确定它是什么 returning。在这种情况下 revbfs 会是什么?我如何使用该方法获得我的反向订单?
嗯,用这段代码很容易测试:
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 可能非常有用,在这种情况下:
Iterator descendingIterator()
Returns an iterator over the elements in this deque in reverse
sequential order. The elements will be returned in order from last
(tail) to first (head).
每当您不确定某些 class/method 行为时,请尝试搜索、阅读和测试。
static ArrayDeque<Integer> bfs = new ArrayDeque<Integer>();
static Iterator<Integer> revbfs = new ArrayDeque<Integer>();
revbfs=bfs.descendingIterator();
非常快的问题。我想以相反的顺序 return bfs。有 descendingIteartor 方法,我只是不确定它是什么 returning。在这种情况下 revbfs 会是什么?我如何使用该方法获得我的反向订单?
嗯,用这段代码很容易测试:
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 可能非常有用,在这种情况下:
Iterator descendingIterator()
Returns an iterator over the elements in this deque in reverse sequential order. The elements will be returned in order from last (tail) to first (head).
每当您不确定某些 class/method 行为时,请尝试搜索、阅读和测试。