Java集合之———Queue

136 阅读2分钟

本文已参与[新人创作礼]活动,一起开启掘金创作之路。

哈喽,大家好!我是Why,一名在读学生,目前刚刚开始进入自己的编程学习生涯。虽然学习起步较晚,但我坚信做了才有0或1的可能。学了一段时间以后也是选择在掘金上分享自己的日常笔记,也希望能够在众多道友的大家庭中打成一片。 本文主要讲解Java集合之———Queue,如果大家读后觉得有用的话,还请大家多多支持博主:欢迎 ❤️点赞👍、收藏⭐、留言💬 ✨✨✨个人主页:[JinHuan](

定义

队列是一种比较特殊的线性结构。它只允许在表的前端(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();

    }
}

image-20220415175831937
以上均为本人个人观点,借此分享,希望能和大家一起进步。如有不慎之处,劳请各位批评指正!鄙人将不胜感激并在第一时间进行修改!另外,我自己整理了一些自资源(笔记、书籍、软件等)分享在我的公众号上,非常欢迎大家来访白嫖和博主做朋友,一起学习进步!最后别忘啦支持一下博主哦,求三连!❤️❤️❤️

image-20220428105519763

image-20220327095755218