zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    网页收藏
    background 和IMG的差异
    cefsharp开发实例1
    Node.js系列之node.js初探
    sublime3安装package controller遇到的问题
    java 指定日期加指定天数
    svn 命令
    mac下nodejs 更新到最新版本的最新方法
    mac系统安装redis
    sublime 安装插件
  • 原文地址:https://www.cnblogs.com/xinhuaxuan/p/6382005.html
Copyright © 2011-2022 走看看