概念:
- 一种线性结构
- 相比数组,队列对应的操作是数组的子集
- 只能从一端(队尾)添加元素,只能从另一端(队首)取出元素
特点:
- 是一种先进先出的数据结构
- 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());}}
