
java集合
文章平均质量分 97
daiwei-dave
剖开表象,理解实质.一个领域深入的越深,扩展另一个领域时则更全面
展开
-
java中collection接口下的数据结构
一.集合中线程安全的类有:vector,stack,hashtable,enumeration,除此之外均是非线程安全的类与接口 collection结构参考如图: 二。java.util.List ArrayList和LinkedList 1.ArrayList是实现了基于动态数组的数据结构。 ArrayList的层级结构如图所示: 2.LinkedList 1)Linke原创 2017-10-02 22:22:01 · 465 阅读 · 1 评论 -
Java7 hashMap底层原理
散列表 java中已知的基于散列表的数据结构有:hashmap,hashset,hashtable,LinkedHashMap,LinkedHashSet 散列表整合了数组和链表的特点 备注:以下集合的原理均为jdk1.7下的 一.hashMap底层原理 1.1hashMap数据结构 hashMap的结构如图所示: 对应源码 static class Entry<K,V> implements Map.Entry<K,V> { final K key;原创 2018-01-14 17:17:47 · 647 阅读 · 0 评论 -
LinkedHashMap
一、基础概念 下图很好地还原了LinkedHashMap的原貌:HashMap和双向链表的密切配合和分工合作造就了LinkedHashMap。特别需要注意的是,next用于维护HashMap各个桶中的Entry链,before、after用于维护LinkedHashMap的双向链表,虽然它们的作用对象都是Entry,但是各自分离,是两码事儿。 LinkedHashMap的继承结构如图: HashMap与LinkedHashMap的Entry结构示意图如下图所示 1.遍历 LinkedHashMap进行原创 2018-01-30 15:40:06 · 507 阅读 · 0 评论 -
Java8 HashMap底层原理
一、树集结构 1.1二叉查找树 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 查找效率: 二叉查找树查找的最大次数为二叉查找树的最大高度 缺点: 可能造成线性结构 二叉查找树的相关原理可参考: 漫画算法:什么是红黑树?https://blog.youkuaiyun.com/p5deyt322jacs/article/details/78433942 1.2 红黑树 红黑树也是一原创 2018-01-14 17:42:29 · 982 阅读 · 0 评论