
Java集合
sword man
潜行者
展开
-
HashMap(JDK1.8)源码分析(超详细)
一、概述本文将以 涉及到的数据结构->类的属性->构造方法->常用的API 的顺序来阅读源码。HashMap又称为哈希桶,在JDK1.8前,HashMap的实现方式为:数组+链表,往桶里面添加元素时是通过计算hash值来确定该元素在桶中的位置,即hash值对应着数组的下标,当多个元素的hash值相同时,这些元素会存储在一原创 2018-12-12 18:27:05 · 851 阅读 · 0 评论 -
Java集合框架综述
原文地址集合框架(collections framework)首先要明确,集合代表了一组对象(和数组一样,但数组长度不能变,而集合能)。Java中的集合框架定义了一套规范,用来表示、操作集合,使具体操作与实现细节解耦。其实说白了,可以把一个集合看成一个微型数据库,操作不外乎“增删改查”四种操作,我们在学习使用一个具体的集合类时,需要把这四个操作的时空复杂度弄清楚了,基本上就可以说掌握这个类了...转载 2018-12-13 16:33:35 · 230 阅读 · 0 评论 -
ArrayList源码分析(JDK1.8)
一、前言前面刚分析完HashMap的源码,今天开始分析ArrayList的源码。本文将以 涉及到的数据结构->类的属性->构造方法->常用的API 的顺序来阅读源码。二、数据结构ArryList的数据结构如下由上图可知,ArrayList的底层就是一个数组,数组存储的元素数据类型为Object,更准确的说,ArrayList就是一个动态数组,它可以动态的增加和减少元素、...原创 2018-12-13 21:02:46 · 158 阅读 · 0 评论 -
LinkedList源码分析(JDK1.8)
一、前言前面刚分析完ArrayList的源码,今天开始分析LinkedList的源码。本文将以继承结构及实现的接口-> 涉及到的数据结构->类的属性->构造方法->常用的API 的顺序来阅读源码。二、继承结构及实现的接口LinkedList不同于ArrayList,ArrayList直接继承于AbstractList,而LinkedList先继承于Abstract...原创 2018-12-16 20:20:27 · 244 阅读 · 0 评论