概念:
- 一种线性结构
- 相比数组,队列对应的操作是数组的子集
- 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素
特点:
- 是一种先进先出的数据结构
- First In First Out(FIFO)
实现:
- void offer(E)/offerLast(E) —— 添加
- E poll()/pollFirst() —— 取出
- E peek()/peekFirst() —— 查看队首元素
- int size() —— 队列元素个数
- boolean isEmpty() —— 是否为空
注意:
- java中虽然有Queue接口,但java并没有给出具体的队列实现类。
- java中的LinkedList类实现了Queue接口,所以使用队列的时候,一般采取LinkedList
- 因为LinkedList是双向链表,可以很方便的实现队列的所有功能。
代码:
package com.qingFeng;
import java.util.LinkedList;
public class Queue {
public static void main(String[] args) {
LinkedList<Integer> Integer = new LinkedList<>();
for (int i = 0 ; i <= 1000 ; i ++){
Integer.offer(i);
}
System.out.println(Integer.size());
int size = Integer.size();
for (int i = 0 ; i < size ; i ++){
System.out.println(Integer.peek());
Integer.poll();
}
System.out.println(Integer.isEmpty());
}
}