美文网首页
Queue Java 源码

Queue Java 源码

作者: huxq_coder | 来源:发表于2020-08-19 20:11 被阅读0次

Queue 队列

队列是一个重要的数据结构,是一种特殊的线性表,特性是先进先出(FIFO)。
Java中的队列是一个接口(Interface),它的实现类有:LinkedList、PriorityQueue等。文档:https://docs.oracle.com/javase/10/docs/api/java/util/Queue.html

接口方法:

返回值 方法名 描述
boolean add() 添加元素,成功返回true,失败会抛出异常
boolean offer() 添加元素,返回是否成功
Object element() 返回队列头部的元素,并不会删除这个元素,空队列时会抛出异常
Object peek() 返回队列头部的元素,并不会删除这个元素,如果是空队列,返回null
Object remove() 移除队列头部的元素,并返回该元素,空队列时会抛出异常
Object poll() 移除队列头部的元素,并返回该元素,如果是空队列,返回null
import java.util.LinkedList;
import java.util.Queue;
 
public class QueueDemo{
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<String>();
        // 空队列取元素
        try{
            System.out.println(queue.element());
        } catch (Exception e) {
            System.out.println("空队列执行 element() " + e);
        }
        System.out.println("空队列执行 peek() " + queue.peek());
        
        //添加元素
        System.out.println("添加元素");
        queue.offer("a");
        queue.add("b");
        queue.offer("c");
        queue.add("d");
        System.out.println("添加元素之后:" + queue);
        System.out.println("peek() " + queue.peek());
        System.out.println("element() " + queue.element());
        
        // 移除元素
        System.out.println("移除元素");     
        System.out.println("remove() " + queue.remove());
        System.out.println("poll() " + queue.poll());       
        System.out.println("remove() " + queue.remove());
        System.out.println("poll() " + queue.poll());
        try{
            System.out.println("remove() " + queue.remove());
        } catch (Exception e) {
            System.out.println("空队列执行 remove() " + e);
        }
        System.out.println("poll() " + queue.poll());
        System.out.println("queue.size():" + queue.size());
    }
}

相关文章

  • Java ArrayDeque

    以下内容转载至Java基础——Queue、Deque、ArrayDeque源码分析 Queue是什么 Queue是...

  • Queue Java 源码

    Queue 队列 队列是一个重要的数据结构,是一种特殊的线性表,特性是先进先出(FIFO)。Java中的队列是一个...

  • LinkedList与Queue源码分析

    java中的数据结构源码分析的系列文章:ArrayList源码分析LinkedList与Queue源码分析 一、简...

  • 2020-05-17-Java数据结构-Stack和Queue

    Stack Queue 参考: java 中的Stack、Queue、Deque

  • GCD-源码分析

    GCD源码分析 dispatch_queue_create dispatch_queue_create队列创建方法...

  • Java集合源码分析之Queue(一):超级接口Queue

    在日常生活中,排队几乎随处可见,上地铁要排队,买火车票要排队,就连出门吃个大餐,也要排队。。。之前研究的Array...

  • 一文弄懂java中的Queue家族

    java中Queue家族简介 简介 java中Collection集合有三大家族List,Set和Queue。当然...

  • Queue与Deque的区别

    前言 ​ 在研究java集合源码的时候,发现了一个很少用但是很有趣的点:Queue以及Deque,平常在写le...

  • 文章目录汇总

    Java 源码 String源码-Java源码系列之StringInteger、Long源码-Java源码系列之I...

  • Java集合之Queue

    Java集合之Queue Queue关系图如下 从如上图可看出,LinkedList具有List的特性 Queue...

网友评论

      本文标题:Queue Java 源码

      本文链接:https://www.haomeiwen.com/subject/ampdjktx.html