Java 实例 - 队列(Queue)用法


队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。

LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

以下实例演示了队列(Queue)的用法:

  1. /*
  2. author by shouce.ren
  3. Main.java
  4. */
  5.  
  6. import java.util.LinkedList;
  7. import java.util.Queue;
  8.  
  9. public class Main {
  10. public static void main(String[] args) {
  11. //add()和remove()方法在失败的时候会抛出异常(不推荐)
  12. Queue<String> queue = new LinkedList<String>();
  13. //添加元素
  14. queue.offer("a");
  15. queue.offer("b");
  16. queue.offer("c");
  17. queue.offer("d");
  18. queue.offer("e");
  19. for(String q : queue){
  20. System.out.println(q);
  21. }
  22. System.out.println("===");
  23. System.out.println("poll="+queue.poll()); //返回第一个元素,并在队列中删除
  24. for(String q : queue){
  25. System.out.println(q);
  26. }
  27. System.out.println("===");
  28. System.out.println("element="+queue.element()); //返回第一个元素
  29. for(String q : queue){
  30. System.out.println(q);
  31. }
  32. System.out.println("===");
  33. System.out.println("peek="+queue.peek()); //返回第一个元素
  34. for(String q : queue){
  35. System.out.println(q);
  36. }
  37. }
  38. }

以上代码运行输出结果为:

  1. a
  2. b
  3. c
  4. d
  5. e
  6. ===
  7. poll=a
  8. b
  9. c
  10. d
  11. e
  12. ===
  13. element=b
  14. b
  15. c
  16. d
  17. e
  18. ===
  19. peek=b
  20. b
  21. c
  22. d
  23. e