Java集合学习
文章平均质量分 95
DreamTech1113
时刻保持学习状态
展开
-
Java集合源码分析01----集合框架
在java.util包下面提供了一些集合类,又称为容器。相比长度固定,存放基本数据的数组,集合的长度是可变的,并且存放的是对象的引用。Java集合框架学习大致可以分为五个部分:List列表,Set集合,Map映射,迭代器(Iterator,Enumeration),工具类(Arrays,Collections) Java集合类主要分为两个部分:Collection和Map. 1.Co...原创 2018-10-22 11:09:28 · 163 阅读 · 0 评论 -
Java集合源码分析10----LinkedHashMap源码分析
简介 LinkedHashMap自jdk1.4引入,继承了HashMap,实现了接口Map,与HashMap具有相同数据结构,底层是哈希表结构,即数组+单向链表(或红黑树)。但LinkedHashMap在HashMap维护节点关系的基础上,将所有的节点串起来,形成了双向链表。所以存储到LinkedHashMap中元素能够保持一定的顺序。默认情况下,迭代时返回元素顺序是插入的顺序。另外一种...原创 2018-12-24 13:55:37 · 185 阅读 · 0 评论 -
Java集合源码分析09----Hashtable源码分析
目录 简介 介绍 源码分析(jdk1.8) 迭代Hashtable Hashtable与HashMap的区别 ------分析基于jdk1.8. 简介 Hashtable是jdk1.0引入,与HashMap一样,是用散列表(哈希表)实现的,存储的是键-值对映射。Hashtable继承了抽象类Dictionary,实现了Map、Cloneable、java.io.Serializab...原创 2018-11-28 14:44:03 · 174 阅读 · 0 评论 -
Java集合源码分析06----Stack源码分析
目录 简介 介绍 源码分析(基于jdk1.8) 案例 简介 Stack模拟的是栈的操作,继承了Vector类,底层也是通过数组来实现的。栈的数据特点是先进后出(FILO,First In Last Out),即最后压入栈的元素,总是第一个弹出栈。由于Stack继承了Vector,所以线程安全,并且提供了操作队列的方法,可以随机访问,能克隆,能进行序列化和序列化传输。 介绍 ...原创 2018-11-06 08:44:41 · 137 阅读 · 0 评论 -
Java集合源码分析05----Vector源码分析
目录 简介 介绍 源码分析(基于jdk1.8) 案例(部分api) 简介 Vector与ArrayList相比,有大部分的方法一样的,不一样的是Vector几乎所有的方法都使用了synchronized修饰,进行了同步,所以Vector是线程安全,可以用于多线程的情况。 Vector底层也是数组实现的,Vector继承了AbstractList抽象类,实现了L...原创 2018-11-06 09:34:01 · 136 阅读 · 0 评论 -
Java集合源码分析08----HashMap源码分析
目录 简介 源码分析 迭代HashMap 总结 简介 HashMap是自jdk1.2引入的,底层使用散列表实现的,存储的是键-值对映射。HashMap继承了抽象类AbstractMap,实现了Map、Cloneable、java.io.Serializable接口,所以它可以克隆,进行序列化传输。HashMap允许存储null键和null值,null键的哈希值是0,它不能...原创 2018-11-23 19:27:20 · 171 阅读 · 0 评论 -
Java集合源码分析04----LinkedList源码分析
目录 简介 介绍 源码分析(基于jdk1.8) 案例 简介 LinkedList底层是基于双向链表实现,从源码(jdk1.8)看不是循环双向链表(循环双向链表即链表与头结点与尾节点相连)。可以当做栈,队列和双端队列来使用。线程是非安全的,适合单线程使用。 LinkedList实现了接口List,可以进行队列的操作;实现了接口Deque,可以当做双端队列使用;实现...原创 2018-11-05 11:31:28 · 212 阅读 · 0 评论 -
Java集合源码分析07----Map集合
目录 Map集合综述 Map接口 SortedMap接口 NavigableMap接口 Dictionary抽象类 AbstractMap抽象类 总结 --------------------------分析基于jdk1.8. Map集合综述 Map接口是Map继承体系中的根接口,与Collection集合没有必然的联系。Map集合存储的是键-值映射(键-值对)。...原创 2018-11-07 15:15:59 · 375 阅读 · 0 评论 -
Java集合源码分析03----ArrayList源码分析
目录 简介 ArrayList介绍(基于jdk1.8) 源码分析 案例 简介 ArrayList位置java.util包下面,是List集合的一种,底层是动态数组,它的容量能够动态的增长。ArrayList是非同步的,只能在单线程中使用。 ArrayList继承AbstractList抽象类,并且实现List接口,提供了操作元素的方法;实现了RandomAccess接口,支持快...原创 2018-11-01 18:50:31 · 145 阅读 · 0 评论 -
Java集合源码分析02----Collection集合
目录 Collection框架综述 Collection接口 Set接口 List接口 Queue接口 迭代器 -----------参考《Thank In Java》 Collection框架综述 Collection是一个接口,分为常见的两部分:List和Set,以及在并发编程常用的Queue. 其中AbstractCollection抽象类实现了接口Collecti...原创 2018-10-30 13:56:23 · 164 阅读 · 0 评论 -
Java集合源码分析11----HashSet源码分析
目录 简介 介绍 方法源码 迭代方式 -----------源码分析基于jdk1.8. 简介 HashSet自jdk1.2引入,继承了抽象方法AbstractSet,实现了Set接口,Cloneable接口,以及java.io.Serializable接口,所以能被克隆和序列化。 HashSet底层是使用HashMap实现的,其中HashMap的键就是Hash...原创 2018-12-25 16:33:34 · 192 阅读 · 0 评论