JDK源码分析
文章平均质量分 74
chenjing_er
天道酬勤
展开
-
Java容器 ArrayDeque源码解析
ArrayDeque是可调整大小的双端队列实现。 用作栈的实现,性能优于Stack 用作队列的实现,性能优于LinkedList 基本结构 public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializabl...原创 2018-04-22 03:42:25 · 213 阅读 · 0 评论 -
Java容器 列表(List) 概览
列表是一组元素可以重复,可以有多个空元素的元素集合。Java容器框架中接口List,抽象类AbstractList以及各种子类ArrayList, LinkedList等都是列表的实现。 类框架图如下: List是有序序列的接口规定。该容器的顺序与元素插入的顺序保持一次,可以通过整数索引访问元素。 List中除了继承Collection接口中声明的add, remove, get等方法,...原创 2018-04-20 21:33:04 · 562 阅读 · 0 评论 -
Java容器 ArrayList源码分析
1 ArrayList 中的基本方法实现 ArrayList 方法签名 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable RandomAccess接口说明Ar...原创 2018-04-20 21:45:32 · 150 阅读 · 0 评论 -
Java容器 LinkedList源码分析
1. LinkedList的基本方法实现 类签名 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{} AbstractSequentialList...原创 2018-04-20 21:50:20 · 130 阅读 · 0 评论 -
Java容器 队列(Queue) 概览
队列是一种先进先出(First-in-First-out)的数据结构。Java容器框架中Queue接口以及其相关的类以及接口是该数据接口的实现。 Java Queue框架类图如下: interface Queue Queue接口中除了继承Collection基本的操作,还提供了额外的插入,获取和查询的操作。这些操作存在的形式: 1.出错时抛出异常 or 2. 返回一个特殊值(null o...原创 2018-04-21 14:54:48 · 1367 阅读 · 0 评论 -
Java容器 PriorityQueue源码解析
PriorityQueue是基于堆的无界优先队列实现。堆的子节点都不大于(最小堆)或都不小于(最大堆)的一种近似完全二叉树的数据结构。 堆用数组实现,用数组的index作为索引。且 i 的父节点为 [i/2],子节点为[2i], [2i + 1],从数组的index=1开始计算(ProrityQueue中是从index=0开始存储的)。 PriorityQueue 基本结构 pu...原创 2018-04-21 20:57:46 · 184 阅读 · 0 评论