
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 · 200 阅读 · 0 评论 -
Java集合源码分析10----LinkedHashMap源码分析
简介 LinkedHashMap自jdk1.4引入,继承了HashMap,实现了接口Map,与HashMap具有相同数据结构,底层是哈希表结构,即数组+单向链表(或红黑树)。但LinkedHashMap在HashMap维护节点关系的基础上,将所有的节点串起来,形成了双向链表。所以存储到LinkedHashMap中元素能够保持一定的顺序。默认情况下,迭代时返回元素顺序是插入的顺序。另外一种...原创 2018-12-24 13:55:37 · 223 阅读 · 0 评论 -
Java集合源码分析09----Hashtable源码分析
目录简介介绍源码分析(jdk1.8)迭代HashtableHashtable与HashMap的区别------分析基于jdk1.8.简介Hashtable是jdk1.0引入,与HashMap一样,是用散列表(哈希表)实现的,存储的是键-值对映射。Hashtable继承了抽象类Dictionary,实现了Map、Cloneable、java.io.Serializab...原创 2018-11-28 14:44:03 · 200 阅读 · 0 评论 -
Java集合源码分析06----Stack源码分析
目录简介介绍源码分析(基于jdk1.8)案例简介 Stack模拟的是栈的操作,继承了Vector类,底层也是通过数组来实现的。栈的数据特点是先进后出(FILO,First In Last Out),即最后压入栈的元素,总是第一个弹出栈。由于Stack继承了Vector,所以线程安全,并且提供了操作队列的方法,可以随机访问,能克隆,能进行序列化和序列化传输。介绍...原创 2018-11-06 08:44:41 · 172 阅读 · 0 评论 -
Java集合源码分析05----Vector源码分析
目录简介介绍源码分析(基于jdk1.8)案例(部分api)简介 Vector与ArrayList相比,有大部分的方法一样的,不一样的是Vector几乎所有的方法都使用了synchronized修饰,进行了同步,所以Vector是线程安全,可以用于多线程的情况。 Vector底层也是数组实现的,Vector继承了AbstractList抽象类,实现了L...原创 2018-11-06 09:34:01 · 167 阅读 · 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 · 193 阅读 · 0 评论 -
Java集合源码分析04----LinkedList源码分析
目录 简介介绍源码分析(基于jdk1.8)案例简介 LinkedList底层是基于双向链表实现,从源码(jdk1.8)看不是循环双向链表(循环双向链表即链表与头结点与尾节点相连)。可以当做栈,队列和双端队列来使用。线程是非安全的,适合单线程使用。 LinkedList实现了接口List,可以进行队列的操作;实现了接口Deque,可以当做双端队列使用;实现...原创 2018-11-05 11:31:28 · 246 阅读 · 0 评论 -
Java集合源码分析07----Map集合
目录 Map集合综述Map接口SortedMap接口NavigableMap接口Dictionary抽象类AbstractMap抽象类总结--------------------------分析基于jdk1.8.Map集合综述 Map接口是Map继承体系中的根接口,与Collection集合没有必然的联系。Map集合存储的是键-值映射(键-值对)。...原创 2018-11-07 15:15:59 · 434 阅读 · 0 评论 -
Java集合源码分析03----ArrayList源码分析
目录 简介ArrayList介绍(基于jdk1.8)源码分析案例简介ArrayList位置java.util包下面,是List集合的一种,底层是动态数组,它的容量能够动态的增长。ArrayList是非同步的,只能在单线程中使用。ArrayList继承AbstractList抽象类,并且实现List接口,提供了操作元素的方法;实现了RandomAccess接口,支持快...原创 2018-11-01 18:50:31 · 176 阅读 · 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 · 207 阅读 · 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 · 235 阅读 · 0 评论