Java集合---Queue(队列)

时间:2021-12-06 17:37:02

队列(Queue)可以看成是一种特殊的线性表,队列满足先进先出(FIFO)原则。

JDK中提供了Queue接口,同时使得LinkedList实现了该接口。

基本操作

import java.util.LinkedList;
import java.util.Queue;

/**
* java.util.Queue
* 队列
* 队列也可以存放一组元素,但是存取元素必须遵循:先进先出原则。
*/

public class QueueDemo {

public static void main(String[] args) {
/*
* LinkedList也实现了队列接口,因为它可以保存一组元素,并且首尾增删快。
* 正好符合队列的特点。
*/

Queue<String> queue = new LinkedList<String>();
/*
* boolean offer(E e)
* 入队操作,向队尾追加一个新元素。
*/

queue.offer("one");
queue.offer("two");
queue.offer("three");
queue.offer("four");
queue.offer("five");
queue.offer("six");
System.out.println(queue);
/*
* E poll()
* 出队操作,从队首获取元素,获取后该元素就从队列中删除
*/

String str = queue.poll();
System.out.println(str);
System.out.println(queue);

/*
* E peek()
* 引用队首元素,但是不做出队操作
*/

str = queue.peek();
System.out.println(str);
System.out.println(queue);

/*遍历*/
System.out.println("size: "+queue.size());
System.out.println("遍历开始");
// for(int i=queue.size(); i>0; i--){
// str = queue.poll();
// System.out.println("元素:"+str);
// }
while(queue.size()>0){
str = queue.poll();
System.out.println("元素:"+str);
}
System.out.println("遍历结束");
System.out.println(queue);


}

}