• JDK源码(1.7) -- java.util.Queue<E>


    java.util.Queue<E> 源码分析(JDK1.7)

    ---------------------------------------------------------------------------------

    java.util.Queue<E>是一个接口,它的定义如下:

    1 public interface Queue<E> extends Collection<E>{
    2 
    3    //methods
    4 }

    (1)java.util.Queue<E>接口继承自java.util.Collection<E>接口

    (2)java.util.Queue<E>接口约定了队列的基本操作:插入、提取、检查。每个操作都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false)

    (3)队列通常以FIFO的方式排序各个元素

    下面来看一幅图:

    ----------------------------------------------------------------------------------------

    下面来看看java.util.Queue<E>中具体有哪些方法

    插入操作 boolean add(E e) 将指定的元素插入此队列,成功则返回true,失败则抛出异常
    boolean offer(E e) 将指定的元素插入此队列
    移除操作 E remove() 获取并移除此队列的头。此方法与poll唯一不同在于:此队列为空时将抛出一个异常
    E poll() 获取并移除此队列的头,如果此队列为空,则返回null
    检查操作 E element() 获取,但是不移除此队列的头。此方法与peek唯一的不同在于:此队列为空时将抛出一个异常 
    E peek() 获取但不移除此队列的头;如果此队列为空,则返回 null。 

    从java.util.Collection<E>接口继续的方法有:addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray

    ----------------------------------------------------------------------------------------

    java.util.Queue<E>源码如下:(看看下面的源码,定义的很规范,各种操作都有-----> 此时应该想到它的实现类该有多可怜,要实现多少方法呀。~_~)

     1 package java.util;
     2 
     3 
     4 public interface Queue<E> extends Collection<E> {
     5  
     6     boolean add(E e);
     7 
     8     boolean offer(E e);
     9 
    10     E remove();
    11 
    12     E poll();
    13 
    14     E element();
    15 
    16     E peek();
    17 }
  • 相关阅读:
    iOS 后台定位
    关于烂代码的那些事
    APP上线前,如何做运营推广工作?
    iOS图片折叠效果:Layer的contentsRect属性和渐变层
    iOS中几种数据持久化方案:我要永远地记住你!
    iOS-CoreLocation:无论你在哪里,我都要找到你!
    轻松学习之 IMP指针的作用
    iOS之友盟错误统计解决
    文字渐变效果:图层中的mask属性
    如何坚持每周写一篇博客
  • 原文地址:https://www.cnblogs.com/xinhuaxuan/p/6382005.html
Copyright © 2020-2023  润新知