Java基础
文章平均质量分 97
AKA_Dif
放弃问题总会比解决问题容易得多
展开
-
Java集合整理
Java 集合整理 概述: java的集合类存放在Java.util包中,主要有三种:List(包含Queue)、Set、Map 接口继承关系与实现(见下图) Iterator: 迭代器,迭代遍历集合中的元素 Collection: Collection是集合List、Set、Queue最基本的接口 Map: 做为映射表的基础接口 Iterator(迭代器) 集合很像是生活中的容器,作...原创 2019-10-10 08:30:34 · 230 阅读 · 0 评论 -
Java集合之ArrayList源码分析
JAVA 集合之ArrayList源码分析 1. 概述 ArrayList是一个动态数组序列,能动态增长和缩减容量。允许存入空值和重复元素,基于数组实现,具备快速随机查找功能。非线程安全。本文针对jdk1.8从源码角度分析ArrayList结构,初始化,容量,以及扩容。 2. 源码分析 2.1 继承结构 打开源码我们可以看到ArrayList继承的类与实现的接口 分析: 继承Abstract...原创 2019-10-10 08:36:55 · 250 阅读 · 0 评论 -
Java集合之LinkedList源码分析
Java 集合之LinkedList源码分析 1. 概述 LinkedList最大的特点是它的数据结构,它的底层是使用链表结构实现。链表是线性表的一种。而链表又分为单向链表和双向链表,链表又有循环与非循环之分,在jdk1.6中就是使用了双向循环链表的结构,而在jdk1.7和jdk1.8中改成了双向链表,也就是取消循环了。本文主要分析jdk1.8中LinkedList的源码,当然,下面我也会放上几种...原创 2019-10-10 08:38:10 · 307 阅读 · 0 评论 -
Java集合之HashMap源码分析
JAVA 集合之HashMap源码分析 1. 概述 HashMap 由 数组+链表 组成的(“链表散列” 即数组和链表的结合体),数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(HashMap 采用 “拉链法也就是链地址法” 解决冲突),如果定位到的数组位置不含链表,那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度依然为 O...原创 2019-10-10 08:41:00 · 337 阅读 · 0 评论