JDK1.7之java集合框架
文章平均质量分 88
小憨豆
这个作者很懒,什么都没留下…
展开
-
java集合HashMap源码分析(JDK1.7)
一、HashMap相关知识简单介绍 在HashMap的底层采用的数据存储结构为哈希表,通过hash算法值去确定数据存放的位置,并且还会存在哈希冲突(也叫左hash碰撞等问题);那么在学习HashMap之前,我们需要对HashMap存储结构的数据结构做一个简单的的相关理论知识做个了解。 1、什么式哈希表(hash table)? 哈希表(hash table 也叫散列表)是一种根据...原创 2018-03-30 16:17:49 · 272 阅读 · 0 评论 -
java集合之set集合的实现类HashSet源码分析
一、HashSet底层实现的数据结构为什么?简单介绍 HashSet的底层实现是HashMap,而HashMap的底层实现为散链表(数组+链表) 因此在学习HashSet的源码是我们必须线先掌握对HashMap的底层实现。(HashMap的底层实现网址:https://mp.csdn.net/postedit/79756598) List集合和Set集合分别为有序可重复、无序...原创 2018-03-29 17:16:07 · 326 阅读 · 0 评论 -
java集合List的实现类LinkedList源码分析
前言 (1)LinkedList的内部实现是双向链表,继承了AbstractSequentialList,实现了List, Deque, Cloneable, java.io.Serializable接口,因此LinkdeList本身支持就支持双端队列操作。LinkedList**允许所有元素(包括 null)**。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 ge...转载 2018-03-28 14:18:20 · 189 阅读 · 0 评论 -
JDK1.8之Vector&Stack源码分析
一、Vector和Stack简单介绍 Vector和ArrayList一样,均是属于List的实现类,现在我们主要说明两者的异同点及和Stack的关系;让我们能够更加清晰的认识该集合类型。 相同点: 1、均是List集合的实现类 2、底层数据存储结构 Objcet 类型的数组 不同点: 1、ArrayList的容量大小的怎长策略不同,ArrayL...原创 2018-03-31 13:41:54 · 229 阅读 · 0 评论 -
java集合ArrayDeque双端队列源码分析(JDK1.7)
一、队列(Queue)&ArrayDeque简单介绍 队列(FIFO)这种数据结构的物理实现方式主要还是两种,一种是链队列(自定义节点类),另一种则是使用数组实现。此处我们将要介绍的循环队列其实是队列的一种具体实现ArrayDeque,它是Queue接口下的子接口Deque的主要实现类,由于一般的数组实现的队列结构在频繁出队的情况下,会产生假溢出现象(队列本身没有满),导致...原创 2018-04-01 23:38:13 · 308 阅读 · 0 评论 -
Java集合JDK1.7(源码分析)之ArrayList
第一部分:ArrayList介绍 ArrayList是一个动态的数组,与java的数组相比较,java数组的长度在定义的时候或者是通过复制形式创建时已经确定了其容器的大小,而ArrayList的容器大小是动态增长的。 查看JDK1.7源码我们知道ArrayList类继承AbstractList这个抽象类,并且还实现了RandomAccess、Cloneable、SerialIz...原创 2018-03-27 21:12:23 · 721 阅读 · 0 评论