Java集合源码学习(13)_Queue接口以及基础实现AbstractQueue
来源:互联网 发布:java代码实现阶乘 编辑:程序博客网 时间:2024/05/29 12:56
1:Queue接口
继承接口Collection;
通常而言,顺序是FIFO,例外是优先级队列(顺序由指定的Comparator来决定)和栈(LIFO)增加了下面几个方法:
Throws exceptionReturns special valueInsert
add(e)
offer(e)
Removeremove()
poll()
Examineelement()
peek()
2:AbstractQueue
add()、remove()、element()是基于offer()、poll()、peek()来实现的;
代码如下:
public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E> {protected AbstractQueue() {}public boolean add(E e) {if (offer(e))return true;elsethrow new IllegalStateException("Queue full");}public E remove() {E x = poll();if (x != null)return x;elsethrow new NoSuchElementException();}public E element() {E x = peek();if (x != null)return x;elsethrow new NoSuchElementException();}public void clear() {while (poll() != null);}public boolean addAll(Collection<? extends E> c) {if (c == null)throw new NullPointerException();if (c == this)throw new IllegalArgumentException();boolean modified = false;Iterator<? extends E> e = c.iterator();while (e.hasNext()) {if (add(e.next()))modified = true;}return modified;}}
0 0
- Java集合源码学习(13)_Queue接口以及基础实现AbstractQueue
- Java集合源码学习(15)_Queue接口的实现PriorityQueue和PriorityBlockingQueue
- Java集合源码学习(3)_Collection接口的基础实现AbstractCollection
- Java集合源码学习(5)_List接口的基础实现AbstractList
- Java集合源码学习(9)_Set接口的基础实现AbstractSet
- Java集合源码学习(6)_List接口的实现_ArrayList_Vector
- Java集合源码学习(7)_List接口的实现_LinkedList
- Java集合源码学习(8)_List接口的实现_CopyOnWriteArrayList
- Java集合源码学习(10)_Set接口的实现HashSet
- Java集合源码学习(11)_Set接口的实现LinkedHashSet
- Java集合源码学习(16)_BlockingQueue接口的实现ArrayBlockingQueue
- Java集合源码学习(17)_BlockingQueue接口的实现LinkedBlockingQueue
- Java集合源码学习(20)_Map接口的实现HashMap
- Java集合源码学习(22)_NavigableMap接口的实现TreeMap
- Java 队列 Queue、Deque、AbstractQueue 源码分析
- List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源码解析
- Java集合源码学习(2)_Collection接口
- Java集合源码学习(4)_List接口
- ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中(二)
- 从点击到呈现 — 详解一次HTTP请求(4)
- Request的getParameter和getAttribute方法的区别 (
- “硬解码”与“软解码”的区别
- LED音乐频谱之输入数据处理
- Java集合源码学习(13)_Queue接口以及基础实现AbstractQueue
- 为类编写完美的Equals()
- HDU 2035人见人爱A^B(数字快速幂法)
- 【组队赛三】-E Binary Search cf448D
- 最小生成树问题
- HDUOJ 2089 数位DP
- PyQt 的一些小总结 (信号槽,弹框)
- android tv开发碰到的坑儿----第一篇
- ios 正则表达式