定义
队列是一种比较特殊的线性结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列中最先插入的元素也将最先被删除,对应的最后插入的元素将最后被删除。因此队列又称为“先进先出”(FIFO—first in first out)的线性表,与栈(FILO-first in last out)刚好相反
使用方法
方法名 | 简述 |
---|---|
boolean add(E e) | 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 |
E remove() | 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 |
E element () | 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 |
E offer | 添加一个元素并返回true 如果队列已满,则返回false |
E poll | 移除并返问队列头部的元素 如果队列为空,则返回null |
E peek | 返回队列头部的元素 如果队列为空,则返回null |
栗子
package com.blog.queue;
import java.util.LinkedList;
import java.util.Queue;
/**
* @Author jinhuan
* @Date 2022/4/15 17:40
* Description:
*/
public class Test {
public static void main(String[] args) {
//实例化queue接口
Queue queue = new LinkedList<Integer>();
//offer方法
queue.offer(1);
queue.offer(2);
queue.offer(3);
for (Object q : queue) {
System.out.print(q + "\t");
}
System.out.println();
System.out.println("-----------------------------");
System.out.println(" 移除并返问队列头部的元素poll--> " + queue.poll());
System.out.println("-----------------------------");
for (Object q : queue) {
System.out.print(q + "\t");
}
System.out.println();
System.out.println("队首元素ele-->" + queue.element());
System.out.println("-----------------------------");
for (Object q : queue) {
System.out.print(q + "\t");
}
System.out.println();
System.out.println("返回队列头部的元素peek-->" + queue.peek());
System.out.println("-----------------------------");
for (Object q : queue) {
System.out.print(q + "\t");
}
System.out.println();
}
}
以上均为本人个人观点,借此分享,希望能和大家一起进步。如有不慎之处,劳请各位批评指正!鄙人将不胜感激并在第一时间进行修改!