随笔分类 - 数据结构
数据结构概述和动态数组
摘要:什么是数据结构? 在实际应用中,根据使用场景来选择最合适的数据结构 线性表 线性表是具有 n 个相同类型元素的有限序列( n ≥ 0 ) a1 是首节点(首元素), an 是尾结点(尾元素) a1 是 a2 的前驱, a2 是 a1 的后继 数组(Array) 数组是一种顺序存储的线性表,所有元素的
阅读全文
JDK1.7 HashMap源码分析
摘要:本文是作者原创,版权归作者所有.若要转载,请注明出处. 话不多说,开始吧! 我们知道,JDK1.7中 HashMap 采用的数据结构 = 数组 + 单链表 链表Entry HashMap的常用属性 HashMap的构造方法 put方法(主) 1.初始化 1-1 将传入的容量转化为>传入容量大小的最小
阅读全文
java集合系列(5)LinkedList
摘要:此文章转载于Java的架构师技术栈微信公众号 这篇文章开始介绍LinkList。他和ArrayList有一些相似,在上一篇文章讲解 ArrayList时,我们知道ArrayList是以数组实现,它的优势是查询性能高,劣势是按顺序增删性能差。如果在不确定元素数量的情况时,不建议使用ArrayList。
阅读全文
java集合系列(4)fail-fast机制(面试常问)
摘要:此文章转载于Java的架构师技术栈微信公众号 今天来看java集合中一个常见的错误机制fail-fast机制。出现在这个错误机制的本质就是因为单线程和多线程的不同。下面就好好看一下这个机制是怎么是出现的。 一、认识fail-fast 今天在运行项目的时候,突然就出现了ConcurrentModifi
阅读全文
java集合系列(3)ArrayList
摘要:此文章转载https://www.jianshu.com/p/53cf2a3bf3da 一、ArrayList的数据结构: ArrayList的数据结构如下: 说明:通过查看源码可以知道ArrayList底层的数据结构是数组,数组元素的类型是Object类型,即可以存放所有类型的数据,所有对Arra
阅读全文
java集合系列(2)collection
摘要:此文章转载于Java的架构师技术栈微信公众号 前言 前一篇博客,我们基本上认识了集合,从这篇博客开始参考API文档,和源码分析,详细的介绍每个集合类的使用,力求在源码的角度来分析,加深理解。 先看一下java集合类的继承图 图片详细的介绍了各种集合类的继承关系。 Java 的集合主要按两种接口分类:
阅读全文
java集合系列(1)总体框架
摘要:此文章转载于Java的架构师技术栈微信公众号 在平时写代码的时候,我们经常会使用到java的一些集合类,还记得我在刚刚学习的时候,因为这些集合类太多,没有把他们的特点还有使用场景记清楚,所以在使用的时候对软件的性能造成了很大的影响,因此现在我想把这些集合类进行一个详细的整理,方便别人面试或者是初学者
阅读全文