
【基础】Java集合框架
文章平均质量分 75
IT码客
明日复明日,明日何其多,以此博文来约束自己,多学习,多总结。如不巧能帮助他人,实属本人之荣幸。
展开
-
Java集合框架(一):大纲
Java集合框架之简述Java集合框架之CollectionJava集合框架之IteratorJava集合框架之HashSetJava集合框架之TreeSetJava集合框架之LinkedHashSetJava集合框架之HashMapJava集合框架之TreeMapJava集合框架之LinkedHashMapJava集合框...原创 2018-03-22 22:23:55 · 5128 阅读 · 1 评论 -
Java集合框架(五):ListIterator 源码分析
文章目录1、ListIterator 接口简述2、ListIterator 接口类图3、ListIterator 接口方法摘要4、ListIterator 应用基本示例4.1、如何获得ListIterator?4.2、ListIterator双向迭代示例5、Java迭代器的类型6、Java ListIterator 内部是如何工作的?6.1、正向迭代实现分析6.2、反向迭代实现分析7、Java L...原创 2019-04-02 22:58:25 · 612 阅读 · 1 评论 -
Java集合框架(六):Set 源码分析
文章目录1、Set 简述2、Set 类图3、Set 方法1、Set 简述Java Set 是一个不包含重复元素的集合。它继承于 Collection 接口。 它有以下特点:与List不同,Java Set不是有序集合,它的元素没有特定的顺序。Java Set不提供对插入元素的位置的控制。它不能通过索引访问元素,但是可以搜索列表中的元素。Set允许最多仅添加一个null元素。Set接...原创 2019-04-05 14:46:24 · 733 阅读 · 0 评论 -
Java集合框架(十一):Map 源码分析
文章目录1、Map 简述2、Map 类图3、Map 方法说明1、Map 简述java.util.Map 接口表示键和值之间的映射对象。Map接口不是Collection接口的子类型。因此它的行为与其他集合类型略有不同。Map接口取代了传统的 Dictionary类,它是一个完全抽象的类而不是接口。Map 接口具有以下几个特征:1、Map提供了三个集合视图,键集,键值映射集和值集合。2、M...原创 2019-04-09 22:44:13 · 577 阅读 · 0 评论 -
Java集合框架(十二):SortedMap 源码分析
文章目录1、SortedMap 简述2、SortedMap 类图3、SortedMap 方法说明4、SortedMap 应用示例4.1、SortedMap 构造函数示例4.1.1、无参构造函数4.1.2、具有 Comparator 的构造函数4.1.3、参数为 Map 类型的构造函数4.1.4、参数为 SortedMap 类型的构造函数4.2、SortedMap 方法示例1、SortedMap ...原创 2019-04-13 22:50:05 · 2292 阅读 · 0 评论 -
Java集合框架(十六):ArrayList 源码分析
文章目录1、ArrayList 简述2、ArrayList 类图3、ArrayList 构造函数3.1、ArrayList()3.2、ArrayList(int initialCapacity)3.3、ArrayList(Collection<? extends E> c)4、ArrayList 源码解析4.1、私有字段说明4.1.1、AbstractList>modCount4...原创 2019-04-14 16:14:33 · 490 阅读 · 0 评论 -
Java集合框架(十七):LinkedList 源码分析
文章目录1、LikedList 简述2、LinkedList 类图LinkedList 内部结构3、LinkedList 成员变量3.1、size 链表的节点数量3.2、first 指向第一个节点的指针3.3、last 指向最后一个节点的指针4、LinkedList 构造函数4.1、LinkedList()4.2、LinkedList(Collection<? extends E> c...原创 2019-04-21 14:39:20 · 443 阅读 · 0 评论 -
Java集合框架(二十):TreeMap 源码解析
文章目录1、TreeMap 简介1.1、红黑树(Red Black Tree)简述1.1.1、二叉查找树(BST)1.1.1.1、二叉查找树性质1.1.2、红黑树(Red Black Tree)1.1.2.1、红黑树性质2、TreeMap 源码分析2.1、TreeMap 的定义2.2、TreeMap 属性2.3、TreeMap 构造函数2.3.1、TreeMap()2.3.2、TreeMap(Co...原创 2019-08-18 15:55:10 · 351 阅读 · 0 评论 -
Java集合框架(二十一):HashTable 源码分析
文章目录1、HashTable 简介1.1、HashTable 定义1.2、HashTable 属性1.3、HashTable 构造方法1.3.1、Hashtable()1.3.2、Hashtable(int initialCapacity)1.3.3、Hashtable(int initialCapacity, float loadFactor)1.3.4、Hashtable(Map<? ...原创 2019-08-18 17:33:52 · 572 阅读 · 2 评论 -
Java集合框架(十):Deque 源码分析
文章目录1、Deque 简述2、Deque 类图3、Deque 方法概述1、Deque 简述线性集合,支持两端插入和移除元素。名称deque是“双端队列(double ended queue)”的缩写,通常发音为“deck”。大多数Deque实现对它们可能包含的元素数量没有固定限制,但是此接口支持容量限制的deques以及没有固定大小限制的deques。此接口定义了访问双端队列两端元素的方法...原创 2019-04-07 21:25:31 · 605 阅读 · 0 评论 -
Java集合框架(九):Queue 源码分析
文章目录1、Queue 简述2、Queue 类图3、Queue 方法简述4、Java Array to Queue5、Java Queue to Array6、Java队列常用操作6.1、Java 队列插入操作6.1.1、add()6.1.2、offer()6.2、Java 队列删除操作6.2.1、remove()6.2.2、poll()6.3、Java 队列检索操作6.3.1、element()...原创 2019-04-07 16:30:56 · 1610 阅读 · 0 评论 -
Java集合框架(八):List 源码分析
文章目录1、List 简述2、List 类图3、List 方法3.1、List 中常用方法如下3.2、在Java 8中新增加的默认方法如下4、Java Array to List5、Java List to Array6、Java List sort7、Java List 常用操作方法8、Java List iterator1、List 简述Java.util.List 是 Collectio...原创 2019-04-06 21:47:30 · 1097 阅读 · 0 评论 -
Java集合框架(二):整体概览
Java集合框架简述Java中的集合类是一种工具类,就像是容器,存储任意数量的具有共同属性的对象,集合框架是一个用来代表和操纵集合的统一架构,包含如下部分:1、接口:接口是代表集合的抽象数据类型,接口允许集合独立操纵其代表的细节。java.util.Collection是集合框架的顶级接口,它包含了一些重要的方法,比如:size(), iterator(), add(), remo...原创 2018-03-31 20:49:22 · 1482 阅读 · 1 评论 -
Java集合框架(三):Collection 源码分析
本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法。在介绍Collection接口之前我们不得不先学习一下Iterable,因为Collection接口继承了它。Collection接口类图从类图中我们看到Collection接口继承了Iterable接口 Iterable源码分析由类图我们可以发...原创 2018-03-31 23:09:40 · 1142 阅读 · 1 评论 -
Java集合框架(四):Iterator 源码分析
简述Iterator迭代器的定义:迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义是,提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器通常被称为“轻量级”对象,因为创建它的代价小。源码分析public interface Iterator&lt;E&gt; { /** * 检...原创 2018-04-05 15:03:09 · 2123 阅读 · 0 评论 -
Java集合框架(十三):HashSet 源码分析
简述HashSet继承于AbstractSet,实现接口Set,内部使用HashMap来存储数据,数据存储在HashMap的key中,value只是同一个默认值,所以HashSet存储的值是不能重复的。HashSet实现HashSet几乎实现了Set接口中的所有方法,在此我们不对每一个方法进行介绍,只介绍一部分重要方法和属性。首先我们看一下HashSet的构造方法,了解一下HashSe...原创 2018-04-05 16:41:10 · 413 阅读 · 0 评论 -
Java集合框架(十五):TreeSet 源码分析
简述TreeSet是基于TreeMap作为存储的可排序、可去重的有序集合继承于AbstractSet,AbstractSet实现了equals和hashcode方法实现了NavigableSet接口,意味着它支持一系列的导航方法,比如查找与指定目标最匹配项实现了Cloneable接口,意味着它能被复制实现了java.io.Serializable接口,意味着它支持序列化 ...原创 2018-04-05 18:26:55 · 358 阅读 · 0 评论 -
Java集合框架(十四):LinkedHashSet 源码分析
简述LinkedHashSet底层使用 LinkedHashMap 来保存所有元素,它继承自 HashSet,其所有的方法操作上又与 HashSet 相同,因此 LinkedHashSet 的实现上非常简单,只提供了四个构造方法,并通过传递一个标识参数,调用父类的构造器,底层构造一个 LinkedHashMap 来实现,在相关操作上与父类 HashSet 的操作相同,直接调用父类 HashSe...原创 2018-04-05 22:26:13 · 291 阅读 · 0 评论 -
Java集合框架(十八):HashMap 源码分析
1.HashMap简述HashMap是工作中最常用的集合工具之一,在整个集合框架中也是很重要的一部分,因此本篇文章主要讲述它的底层实现原理,因为jdk1.8中对HashMap的数据结构有了修改,所以本篇将会分别讲解jdk1.7和jdk1.8中HashMap的区别,通过对比学习来加深对HashMap的理解jdk1.8之前HashMap采用【数组+链表】实现,使用链表处理hash冲突,同一个h...原创 2018-04-21 22:51:57 · 923 阅读 · 0 评论 -
Java集合框架(七):SortedSet 源码分析
文章目录1、SortedSet 简述2、SortedSet 类图3、SortedSet 方法4、SortedSet 方法示例5、注意事项1、SortedSet 简述SortedSet 接口扩展了 Set 接口并提供了元素的排序功能。插入到有序集中的所有元素必须实现Comparable接口(或者被指定的Comparator接受),并且所有这些元素必须是可相互比较的,比如:e1.compareT...原创 2019-04-05 22:12:40 · 1041 阅读 · 0 评论 -
Java集合框架(十九):LinkedHashMap 源码分析
文章目录1、LinkedHashMap 简介2、LinkedHashMap 数据结构2.1、Entry 的继承体系3、LinkedHashMap 源码分析3.1、LinkedHashMap 类图3.2、LinkedHashMap 构造函数3.3、LinkedHashMap 成员变量4、常用方法源码分析4.1、containsValue( Object value)4.2、get( Object k...原创 2019-08-11 23:57:39 · 275 阅读 · 1 评论