看下面的例子,我们可以使用以下方法来迭代PriorityQueue:
- For-each循环
- Iterator
- Stream(在Java8中引入)
文件:IterateQueueExample.java -
/**
*
*/
package com.yiibai.tutorial;
import java.util.Iterator;
import java.util.PriorityQueue;
import java.util.Queue;
/**
* @author yiibai
*
*/
public class IterateQueueExample {
public static void main(String[] args) {
Queue<Integer> queue=new PriorityQueue<>();
queue.add(1);
queue.add(2);
queue.add(3);
queue.add(4);
queue.add(5);
/*Method 1 - Using for each loop*/
System.out.println("Using for each loop");
for (Integer element : queue) {
System.out.println(element);
}
/*Method 2 - Using Iterator*/
System.out.println("
Using Iterator");
Iterator<Integer> iterator=queue.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
/*Method 3 - Using Stream*/
System.out.println("
Using Stream");
queue.stream().forEach(e->System.out.println(e));
}
}
执行上面示例代码,得到以下结果:
Using for each loop
1
2
3
4
5
Using Iterator
1
2
3
4
5
Using Stream
1
2
3
4
5