JAVA集合系列
文章平均质量分 90
JAVA集合系列
韩淼燃
最近在更新运维专栏。欢迎大家来点赞,关注。
展开
-
Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
概要这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍Hashtable 简介和HashMap一样,Hashtable 也是一个散列表,它存储的内容是键值对(key-value)映射。Hashtable继承于Dictionary,实现了Map、Cloneable、java.io.Serializable接口。Hashtable 的函数都是同步的,这意味着它是.原创 2021-08-10 18:48:23 · 392 阅读 · 0 评论 -
Java 集合系列10之 HashMap详细介绍(源码解析)和使用示例
概要这一章,我们对HashMap进行学习。我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null原创 2021-08-05 14:57:25 · 104 阅读 · 0 评论 -
Java 集合系列09之 Map架构
要实现不可修改的映射,编程人员只需扩展此类并提供 entrySet 方法的实现即可,该方法将返回映射的映射关系 set 视图。要实现可修改的映射,编程人员必须另外重写此类的 put 方法(否则将抛出 UnsupportedOperationException),entrySet().iterator() 返回的迭代器也必须另外实现其 remove 方法。NavigableMap是继承于SortedMap的接口。(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。...原创 2021-08-04 14:46:11 · 150 阅读 · 0 评论 -
Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)
前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack)。现在,我们再回头看看总结一下List。先回顾一下List的框架图(01) List 是一个接口,它继承于Collection的接口。它代表着有序的队列。(02) AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get(int location)之外的函数。...原创 2021-07-27 11:14:16 · 259 阅读 · 0 评论 -
Java 集合系列07之 Stack详细介绍(源码解析)和使用示例
java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,这就意味着,学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。(02) Stack继承于Vector,意味着Vector拥有的属性和功能,Stack都拥有。),是取出数组末尾的元素,然后将该元素从数组中删除。Stack的源码非常简单,下面我们对它进行学习。(01) Stack实际上也是通过数组去实现的。),是通过将元素追加的数组的末尾中。),是返回数组末尾的元素。..原创 2021-07-26 16:38:58 · 342 阅读 · 0 评论 -
Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
Vector简介Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功能。Vector 实现了RandmoAccess接口,即提供了随机访问功能。RandmoAccess是java中用来被List实现,为List提供快速访问功能的。...原创 2021-07-26 15:47:23 · 275 阅读 · 0 评论 -
Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
概要前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。第1部分 LinkedList介绍LinkedList简介LinkedList是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedL..原创 2021-07-26 14:31:16 · 149 阅读 · 0 评论 -
Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
概要前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4fail-fast原理5 解决fail-fast的原理1 fail-fast简介fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通...原创 2021-07-26 10:51:07 · 199 阅读 · 0 评论 -
Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
概要上一章,我们学习了Collection的架构。这一章开始,我们对Collection的具体实现类进行讲解;首先,讲解List,而List中ArrayList又最为常用。因此,本章我们讲解ArrayList。先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)第4部分 ArrayList遍历方式第5部分 toArray()异常第原创 2021-07-23 16:24:38 · 157 阅读 · 0 评论 -
Java 集合系列02之 Collection架构
概要首先,我们对Collection进行说明。下面先看看Collection的一些框架类的关系图:Collection是一个接口,它主要的两个分支是:List和Set。List和Set都是接口,它们继承于Collection。List是有序的队列,List中可以有重复的元素;而Set是数学概念中的集合,Set中没有重复元素!List和Set都有它们各自的实现类。为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数;这样,...原创 2021-07-23 11:34:33 · 88 阅读 · 1 评论 -
Java 集合系列01之 总体框架
Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)、。Java集合工具包框架图(如下):大致说明:看上面的框架图,先抓住它的主干,即Collection和Map。1 Collection是一个接口,是高度抽象出来的集合,它包含了原创 2021-07-23 11:30:36 · 129 阅读 · 0 评论