java集合框架
BballChen
这个作者很懒,什么都没留下…
展开
-
java集合框架(十):LinkedHashSet
开发十年,就只剩下这套架构体系了! >>> 上一遍博文介绍了HashSet的原理,而现在将要讲解的LinkedHashSet是HashSet的子类,相信理解起来也是比较容易的。LinkedHashSet与父类HashSet最大区别就是其存储的值是在LinkdeHashMap(点击此处了解原理)的key中,而不是HashMap的key中。一、类的定义public ...原创 2017-12-11 20:22:00 · 128 阅读 · 0 评论 -
java集合框架(九):HashSet
开发十年,就只剩下这套架构体系了! >>> Set是不包括重复元素,最多只有一个null的单值集合,使用场合就是要求集合中不包含有重复元素。一、HashSet数据结构HashSet是基于HashMap实现的Set,其内部数据结构跟HashMap(点击此处查看HashMap的介绍)一样,HashSet的值就是HashMap的key,对HashSet的操作其实就是对H...原创 2017-12-10 22:05:00 · 109 阅读 · 0 评论 -
java集合框架(八):Stack
开发十年,就只剩下这套架构体系了! >>> java中的Stack(栈)是通过继承Vector实现的,其后进先出(LIFO)的特性是直接操作数组的最后一个元素,push方法就往数组后面插入新元素,pop方法取出数组的最后一个元素。Stack在Vctor的基础上新增了5个方法,没有新增任何成员变量,对数组的操作都是调用父类的方法,所以总的来说类的定义相当简洁。 一、类的...原创 2017-12-03 21:33:00 · 141 阅读 · 0 评论 -
java集合框架(七):Vector
开发十年,就只剩下这套架构体系了! >>> Vector可以理解为一个线程安全的数组集合,它的数据结构跟ArrayList一样,如需了解ArrayList具体实现可以参考我之前的博文。Vector跟ArrayList的最大区别是可以提线程安全的访问接口,其一般使用场景是多线程并发访问同一个数组,Vector就能够很好地提供加锁方案,而不需要我们再写一次加锁的代码。一、...原创 2017-12-02 23:27:00 · 110 阅读 · 0 评论 -
java集合框架(六):LinkedList
开发十年,就只剩下这套架构体系了! >>> LinkedList的数据结构就是一个双向链表,这就决定了它具有很好的增删节点的性能。当需要在链表中间增加或者删除一个节点时,受影响的只是修改位置的前后两个节点,而不像ArrayList那样需要移动修改位置后面所有节点的位置。其数据结构图如下所示:一、类的定义public class LinkedList<E...原创 2017-11-14 20:09:00 · 142 阅读 · 0 评论 -
java集合框架(五):ArrayList
开发十年,就只剩下这套架构体系了! >>> java集合框架中被使用最多的可能就是ArrayList了,用它代替数组确实给我们开发带来了很大的便利。很多人都知道它是自动扩容的数组,使用的时候不用考虑数组的容量大小,可以往里面添加无数的元素,这样的理解是否正确,我们通过源码来分析。 java集合框架包括了很多接口和类,为了最大程度地提高代码...原创 2017-11-09 18:42:00 · 149 阅读 · 0 评论 -
java集合框架(四):TreeMap
开发十年,就只剩下这套架构体系了! >>> TreeMap的数据结构与HashMap、LinkedHashMap不同,其整个结构就是一颗红黑树,所以我们要研究TreeMap就得先从红黑树开始。对于红黑树的算法,我在本文章不详细展开,有兴趣的同学可以点击这里学习。本文主要是剖析红黑树的原理,以及解读TreeMap是如何运用红黑树实现的。 红...原创 2017-11-07 19:30:00 · 181 阅读 · 0 评论 -
java集合框架(三):LinkedHashMap
开发十年,就只剩下这套架构体系了! >>> LinkedHashMap的数据结构跟HashMap类似,只是在节点上多加了指向前和向后的两个属性,也可以概括为:数组+链表(双向)+红黑树(java8增加了红黑树),如下图所示:一、类的定义public class LinkedHashMap<K,V> extends ...原创 2017-10-29 17:01:00 · 159 阅读 · 0 评论 -
java集合框架(二):HashTable
开发十年,就只剩下这套架构体系了! >>> HashTable作为集合框架中的一员,现在是很少使用了,一般都是在面试中会问到其与HashMap的区别。为了能在求职的时候用上场,我们有必要对其原理进行解读。HashTable的实现原理跟HashMap类似,也是通过节点的哈希值映射到哈希桶数组,如果发生哈希碰撞就构建一条链表,简单点说就是:数组+链表一、类的定义...原创 2017-10-26 11:29:00 · 177 阅读 · 0 评论 -
java集合框架(一):HashMap
开发十年,就只剩下这套架构体系了! >>> 有大半年没有写博客了,虽然一直有在看书学习,但现在回过来看读书基本都是一种知识“输入”,很多时候是水过无痕。而知识的“输出”会逼着自己去找出没有掌握或者了解不深刻的东西,你要把一个知识点表达出来,自己没有吃透是很难写出来的。我算是明白了为什么有些人可以通过写博客来学习,我也不能懒了,坚持写下去。都以为自己对java的集合框架...原创 2017-10-25 20:39:00 · 156 阅读 · 0 评论 -
java集合框架(十一):TreeSet
开发十年,就只剩下这套架构体系了! >>> TreeSet是可排序不重复的集合,其数据结构是TreeMap(点击此处了解原理),TreeSet的值就存储在TreeMap的key中。下面就来看看具体实现。一、类的定义public class TreeSet<E> extends AbstractSet<E> implements N...原创 2017-12-11 22:02:00 · 144 阅读 · 0 评论