随笔分类 -  JAVA集合

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

点击右上角即可分享
微信分享提示