随笔分类 - JAVA集合
Java集合源码学习和记录之路...
发表于 2022-01-10 08:39阅读:425评论:0推荐:0
摘要:前言 集合源码分析系列:Java集合源码分析 前面已经把Vector,ArrayList,LinkedList分析完了,本来是想开始Map这一块,但是看了下面这个接口设计框架图:整个接口框架关系如下(来自百度百科): 原来还有一个漏网之鱼,Stack栈的是挂在Vector下,前面我们已经分析过Vec
阅读全文 »
发表于 2021-03-26 16:50阅读:526评论:0推荐:0
摘要:要想回答这个问题,可以先把各种都讲特性,然后再从底层存储结构,线程安全,默认大小,扩容机制,迭代器,增删改查效率这几个方向入手。 特性列举 ArrayList:动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。 线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机访问速度快,插
阅读全文 »
发表于 2020-12-05 23:16阅读:113评论:0推荐:0
摘要:1.LinkedList介绍 我们除了最最常用的ArrayList之外,还有LinkedList,这到底是什么东西?从LinkedList官方文档,我们可以了解到,它其实是实现了List和Queue的双向链表结构,而ArrayList底层则是数组结构。 下面的讲解基于jdk 1.8: 继承了Abst
阅读全文 »
发表于 2020-11-17 01:26阅读:175评论:0推荐:0
摘要:1.Vector介绍 Vector和前面说的ArrayList很是类似,这里说的也是1.8版本,它是一个队列,但是本质上底层也是数组实现的。同样继承AbstractList,实现了List,RandomAcess,Cloneable, java.io.Serializable接口。具有以下特点: 提
阅读全文 »
发表于 2020-11-17 01:25阅读:132评论:0推荐:0
摘要:1. ArrayList ArrayList是最最常用的集合类了,真的没有之一。下面的分析是基于1.8.0_261源码进行分析的。 1.1 ArrayList特点介绍 动态数组,使用的时候,只需要操作即可,内部已经实现扩容机制。 线程不安全 有顺序,会按照添加进去的顺序排好 基于数组实现,随机访问速
阅读全文 »
发表于 2020-11-17 01:24阅读:341评论:0推荐:0
摘要:1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之处,在于它属于单列集合,相当于一个列表,有以下这些特点: 有顺序,按照添加的顺序存储,是一种线性结构。 可以根据索引查询元素。 元素可以重复。 An ordered collection
阅读全文 »
发表于 2020-11-17 01:23阅读:267评论:0推荐:0
摘要:一、Collection接口简介 collection在java集合中,算是顶级接口,它继承了iterable接口,不能实例化,只能实例化其子类。之所以需要这样一个接口,是因为java作为面向对象,总是避免不了处理多个对象的情况,要处理多个对象,首先需要容器存储,这个容器就是集合。为什么有了数组,还
阅读全文 »
发表于 2020-11-17 01:22阅读:205评论:0推荐:0
摘要:刚开始学java的时候,分不清Collection和Collections,其实这两个东西是完全不一样的东西。 Collection是一个接口,是java集合中的顶级接口之一,衍生出了java集合的庞大的体系。下面的图可以说明: 继承Collection的子类关系如下: 既然Collection是接
阅读全文 »
发表于 2020-11-17 01:21阅读:176评论:0推荐:0
摘要:一、Collections接口是做什么的? 用官网文档的介绍: The polymorphic algorithms described here are pieces of reusable functionality provided by the Java platform. All of t
阅读全文 »
发表于 2020-11-17 01:20阅读:338评论:0推荐:0
摘要:一、iterator介绍 iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,用于迭代访问集合中的元素,相当于定义了遍历元素的规范,而另外的Map和Collection接口主要是定义了存储元素的规范。 bo
阅读全文 »
发表于 2020-11-17 01:14阅读:1019评论:0推荐:1
摘要:iterable接口 整个接口框架关系如下(来自百度百科): iterable接口其实是java集合大家庭的最顶级的接口之一了,实现这个接口,可以视为拥有了获取迭代器的能力。Iterable接口出现在JDK1.5,那个时候只有iterator()方法,主要是定义了迭代集合内元素的规范。 实现了Ite
阅读全文 »
发表于 2020-11-03 22:53阅读:453评论:0推荐:0
摘要:一、iterator接口介绍 iterator接口,也是集合大家庭中的一员。和其他的Map和Collection接口不同,iterator 主要是为了方便遍历集合中的所有元素,用于迭代访问集合中的元素,相当于定义了遍历元素的规范,而另外的Map和Collection接口主要是定义了存储元素的规范。
阅读全文 »
发表于 2020-10-17 14:03阅读:322评论:0推荐:0
摘要:(一) java集合分类 之前大概分为三种,Set,List,Map三种,JDK5之后,增加Queue.主要由Collection和Map两个接口衍生出来,同时Collection接口继承Iterable接口,所以我们也可以说java里面的集合类主要是由Iterable和Map两个接口以及他们的子接
阅读全文 »