![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java集合
Wonder ZH
国家注册规划师!
不知为何,转投程序猿
展开
-
【深入理解java集合】-HashMap实现原理
一、背景知识HashMap 的实现依赖 hashcode 和 hash ,在分析HashMap源码前,有必要理解 hashcode 和 hash 算法。1、HashHash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Ha...原创 2018-09-29 19:37:52 · 354 阅读 · 0 评论 -
【深入理解java集合】-ArrayList实现原理
一、ArrayList简介1、概述ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的C...原创 2018-09-25 20:03:09 · 312 阅读 · 0 评论 -
【深入理解java集合】-java容器类体系
一、java集合简介1、集合的由来 面向对象语言对事物都是以对象的形式来体现,为了方便对多个对象的操作,就需要将对象进行存储,集合就是存储对象最常用的一种方式。2、集合的特点用于存储对象的容器。(容器本身就是一个对象,存在于堆内存中,里面存的是对象的地址) 集合的长度是可变的。 集合中不可以存储基本数据类型值。(只能存对象)注意:想用集合存基本数据类型怎么办? 利...原创 2018-09-25 14:37:25 · 1543 阅读 · 0 评论 -
【深入理解java集合】-TreeMap实现原理
一、红黑树介绍1、R-B Tree概念红黑树(Red Black Tree,简称R-B Tree) 是一种自平衡二叉查找树,它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,...原创 2018-10-03 17:34:35 · 5443 阅读 · 0 评论 -
【深入理解java集合】-LinkedList实现原理
一、LinkeddList简介1、LinkedList概述LinkedList是一个一个继承于AbstractSequentialList,并实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性(addFirst(),removeLast()…),它可以被...原创 2018-09-26 20:28:50 · 414 阅读 · 0 评论