手撸源码:java集合
文章平均质量分 95
深入剖析java集合,从源码的角度与分析其底层原理。知其然更知其所以然。
Japson_z
这个作者很懒,什么都没留下…
展开
-
不属于集合但是也想说的:数组(超详细)
被忽视的数组标签: Java编程思想目录:被忽视的数组数组究竟是什么基本的看法数组的类是什么奇怪的I数组的使用方法数组的复制返回一个数组多维数组数组和反射数组与泛型javalangreflectArrayjavautilArraysasListfillhasCodecopyofequalstoStringsortbinarySearc原创 2018-01-09 10:34:23 · 328 阅读 · 1 评论 -
容器(一):容器双雄之Collection
容器(一):容器双雄之Collection标签: Java编程思想容器一容器双雄之Collection容器双雄分别是谁Collection个人简历Collection接口的方法Iterator与foreachIteratorforeachCollection与CollectionsIterable与IteratorIteratorIterable容器双雄分别是谁?在很多讲容器的原创 2018-01-09 10:56:11 · 247 阅读 · 0 评论 -
容器(二):Collection三足鼎立之List
容器(二):Collection三足鼎立之List标签: Java编程思想容器二Collection三足鼎立之ListList接口List接口的方法测试代码位置相关void addint indexE elementboolean addAllint indexCollection extends E cE getint indexE setint indexE elementE原创 2018-01-09 11:22:56 · 230 阅读 · 0 评论 -
容器(三):ListIterator和Iterator辨析与源码分析
容器(三):ListIterator和Iterator辨析与源码分析标签: Java编程思想容器三ListIterator和Iterator辨析与源码分析游标Iterator源码分析default关键字方法分析ListIterator介绍ListIterator源码分析方法分析ListIterator 的实现ListIterator 的代码测试ListIte原创 2018-01-09 11:26:46 · 229 阅读 · 0 评论 -
容器(四):List的大管家AbstractList
容器(四):List的大管家AbstractList标签: Java编程思想容器四List的大管家AbstractListList家族的领导机制AbstractList源码分析AbstractList的构造方法交由子类实现的方法索引方法的实现全部范围 删除元素迭代方法两个内部迭代器Itr代码分析ListItr 代码分析内部类RandomAccess和SubList由subLi原创 2018-01-09 11:53:15 · 167 阅读 · 0 评论 -
容器(五):王牌飞行员ArrayList
容器(五):王牌飞行员ArrayList标签: Java编程思想容器五王牌飞行员ArrayListArrayList概述ArrayList的成员变量ArrayList 的构造方法添加元素的方法底层数组大小的调整扩容方法grow删除元素修改元素查询元素浅拷贝ArrayList转换为数组调整ArrayList大小ArrayList的迭代器ItrListItr...原创 2018-02-11 15:54:14 · 134 阅读 · 0 评论 -
容器(六):最佳替补LinkedList
容器(六):最佳替补LinkedList标签: Java编程思想容器六最佳替补LinkedListLinkList的出身AbstractSequentialList构造器添加元素修改元素获取元素删除元素总结Deque接口LinkedList 的实现LinkedList 的方法内部方法头部添加节点尾部添加节点指定节点前插入返回指定位置的节点删除指定节点删除头结点删原创 2018-02-11 15:56:06 · 207 阅读 · 0 评论 -
容器(七):垂垂老矣Vector
容器(七):垂垂老矣Vector标签: Java编程思想容器七垂垂老矣Vector一道面试题什么是VectorVector 成员变量Vector 的构造方法默认无参构造器指定容量构造器指定容量和增长量的构造器包含集合的构造器Vector中的扩容方法Vector的添加元素的方法确保容量其他方法Vector遍历随机访问迭代器for循环Enumeration循环总结Ve原创 2018-02-11 15:57:20 · 119 阅读 · 0 评论 -
容器(八):被封杀的Stack类
容器(八):被封杀的Stack类标签: Java编程思想容器八被封杀的Stack类什么不用Stack类那么应该咋办LinkedList源码分析入栈操作出栈操作获取栈顶元素自己造个Stack类Stack类是对数据结构“栈”的实现,并且从jdk1.0时就存在了,但是却惨遭的封杀。什么不用Stack类Bruce Eckel在《Java编程思想》中这样说: Java 1.0/1.1 的St原创 2018-02-11 15:58:29 · 254 阅读 · 0 评论 -
容器(九):Collection三足鼎立之Queue
容器(九):Collection三足鼎立之Queue标签: Java编程思想容器九Collection三足鼎立之QueueQueue 方法介绍addE offerE 在尾部添加remove poll 删除并返回头部element peek 获取但不删除其他创建自己的Queuepublic interface Queue<E> extend...原创 2018-02-11 16:00:29 · 132 阅读 · 0 评论 -
容器(十):Collection三足鼎立之Set
容器(十):Collection三足鼎立之Set标签: Java编程思想容器十Collection三足鼎立之SetSet接口简介Set源码分析总结Set接口简介public interface Set<E> extends Collection<E>Set是Collection家族中的一份子,它的概念类似于数学中的“集合”,它与List的区别就是:Set不包含重复元素的集合。当对Set中添加原创 2018-02-11 16:02:01 · 122 阅读 · 0 评论 -
容器(十一):容器双雄之Map
容器(十一):容器双雄之Map标签: Java编程思想容器十一容器双雄之Map什么是MapMap的实现类Map源码分析关键方法内部类default方法MapgetOrDefaultObject VMapputIfAbsentKVMapremoveObject key Object valueMapreplaceKVMapreplaceKVVMap的三种遍历总结在此之前把C原创 2018-02-11 16:07:07 · 231 阅读 · 0 评论 -
容器(十二):Map家族的大管家AbstractMap
容器(十二):Map家族的大管家AbstractMap标签: Java编程思想容器十二Map家族的大管家AbstractMapAbstractMap简介AbstractMap 的成员变量AbstractMap 的成员方法添加删除获取查询状态equalshashCode获取所有的键获取所有的值获取所有键值对AbstractMap 中的内部类SimpleImmutableEn原创 2018-02-11 16:08:31 · 195 阅读 · 0 评论 -
容器(十三):到底什么是哈希
容器(十三):到底什么是哈希标签: Java编程思想容器十三到底什么是哈希什么是哈希为什么要使用哈希简单的小例子简单的小总结提出的俩问题构造哈希函数直接定址法除留余数法数字分析法平方取中法随机数法如何选择哈希冲突的解决开放定址法线性探查法平方探查法双散列函数探查法链地址法拉链法hashCode还记得当初学数据结构时学到哈希表,当时比较懵啊。现在要好好理解一下什么原创 2018-02-11 16:10:57 · 605 阅读 · 2 评论 -
容器(十四):Map家族的老大哥 HashMap
容器(十四):Map家族的老大哥 HashMap标签: Java编程思想容器十四Map家族的老大哥 HashMap什么是HashMapHashMap 的特点HashMap的原理HashMap的内部结构HashMap的成员变量初始容量和加载因子构造方法重点链表节点 NodeKV功能方法确定哈希桶数组索引位置put方法afterNode系列方法get方法扩容机制总结Has原创 2018-02-11 16:17:34 · 195 阅读 · 0 评论 -
容器(十五):LinkedHashMap
容器(十五):LinkedHashMap标签: Java编程思想容器十五LinkedHashMap引LinkedHashMap简介LinkedHashMap的数据结构源码分析静态内部类成员变量构造函数重要方法将节点链接到尾部替换某个节点新建一个节点新建TreeNode结点将节点添加到链表尾部put方法移除头结点删除某一节点get方法两种演示存储顺序启动LRU总原创 2018-02-11 16:18:57 · 205 阅读 · 0 评论