美文网首页
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());
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Queue Java 源码

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