java中的AbstractQueue
来源:互联网 发布:怎样做一个软件 编辑:程序博客网 时间:2024/05/29 09:59
一、概述
类结构:
java.lang.Object java.util.AbstractCollection<E> java.util.AbstractQueue<E>
E
- 此 collection 中所保存元素的类型声明:public abstract classAbstractQueue<E> extendsAbstractCollection<E> implementsQueue<E>此类提供某些
Queue
操作的骨干实现。此类中的实现适用于基本实现不 允许包含 null 元素时。add
、remove
和element
方法分别基于 offer
、poll
和 peek
方法,但是它们通过抛出异常而不是返回 false 或 null 来指示失败。 扩展此类的 Queue 实现至少必须定义一个不允许插入 null 元素的 Queue.offer(E)
方法,该方法以及 Queue.peek()
、Queue.poll()
、Collection.size()
和Collection.iterator()
都支持 Iterator.remove()
方法。通常还要重写其他方法。如果无法满足这些要求,那么可以转而考虑为 AbstractCollection
创建子类。
此类是 Java Collections Framework 的成员。
二、构造方法
protected AbstractQueue() 子类使用的构造方法。
三、方法详细
1、public boolean add(E e)
将指定的元素插入到此队列中(如果立即可行且不会违反容量限制),在成功时返回 true,如果当前没有可用空间,则抛出 IllegalStateException。
如果 offer 成功,则此实现返回 true,否则抛出 IllegalStateException。
- 指定者:
- 接口
Collection<E>
中的add
- 指定者:
- 接口
Queue<E>
中的add
- 覆盖:
- 类
AbstractCollection<E>
中的add
- 参数:
e
- 要添加的元素- 返回:
- true(根据
Collection.add(E)
的规定) - 抛出:
IllegalStateException
- 如果此时由于容量限制不能添加元素ClassCastException
- 如果指定元素的类不允许将该元素添加到此队列中NullPointerException
- 如果指定元素为 null 并且此队列不允许 null 元素IllegalArgumentException
- 如果此元素的某些属性不允许将该元素添加到此队列中
- 获取并移除此队列的头。此方法与
poll
唯一的不同在于:此队列为空时将抛出一个异常。除非队列为空,否则此实现返回 poll 的结果。
- 指定者:
- 接口
Queue<E>
中的remove
- 返回:
- 此队列的头
- 抛出:
NoSuchElementException
- 如果此队列为空
peek
唯一的不同在于:此队列为空时将抛出一个异常。除非队列为空,否则此实现返回 peek 的结果。- 指定者:
- 接口
Queue<E>
中的element
- 返回:
- 此队列的头
- 抛出:
NoSuchElementException
- 如果此队列为空
poll
,直到它返回 null 为止。Collection<E>
中的 clear
AbstractCollection<E>
中的 clear
5、public boolean addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此队列中。如果试图将某一队列 addAll 到该队列本身中,则会导致 IllegalArgumentException。此外,如果正在进行此操作时修改指定的 collection,则此操作的行为是不确定的。
此实现在指定的 collection 上进行迭代,并依次将迭代器返回的每一个元素添加到此队列中。在试图添加某一元素(尤其是 null 元素)时如果遇到了运行时异常,则可能导致在抛出相关异常时只成功地添加了某些元素。
- 指定者:
- 接口
Collection<E>
中的addAll
- 覆盖:
- 类
AbstractCollection<E>
中的addAll
- 参数:
c
- 包含要添加到此队列的元素的 collection- 返回:
- 如果此队列由于调用而发生更改,则返回 true
- 抛出:
ClassCastException
- 如果指定 collection 元素的类不允许将该元素添加到此队列中NullPointerException
- 如果指定 collection 包含一个 null 元素并且此队列不允许 null 元素,或者指定 collection 为 nullIllegalArgumentException
- 如果指定 collection 元素的某些属性不允许将该元素添加到此队列中,或者指定 collection 是此队列IllegalStateException
- 如果此时由于插入限制无法添加所有元素
0 0
- java中的AbstractQueue
- AbstractQueue
- Java 队列 Queue、Deque、AbstractQueue 源码分析
- Java集合源码学习(13)_Queue接口以及基础实现AbstractQueue
- Java常见集合框架(十四):Queue之Queue、BlockingQueue、AbstractQueue
- Queue AbstractQueue Deque 源代码
- AbstractQueue抽象类源码解析
- JDK源码阅读之AbstractSet和AbstractQueue
- Java 中的 & | ^
- [Java] Java中的浮点
- 【java】java中的异常
- 【Java】java中的this
- 【Java】Java中的JDBC
- Java--Java中的关键字
- 【Java】Java中的swap
- Windows中的\和Java中的\
- [java]java中的访问权限
- [ java ] java中的Random()注意!
- uitableview , from 斯坦福大学公开课
- [Leetcode] 7 - Reverse Integer
- 涂鸦数据结构1 前言
- 黑马程序员_java集合学习笔记
- Javascript 面向对象编程(一):封装
- java中的AbstractQueue
- Deep learning:十九(RBM简单理解)
- STB 获取Mac地址
- 追逐自己的梦想----------辅助制作第四课:将游戏人物数据进行测试
- ajaxfileupload IE兼容问题
- vim 基本配置文件.vimrc 简介
- Android蛋疼错误各种尝试
- 字节
- Spring Data repositories with multiple databases