前言 在前面的学习集合中只是介绍了集合的相关用法,我们想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解! 既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。 2 ...
分类:
编程语言 时间:
2017-10-18 16:43:55
阅读次数:
306
今天我们来学习集合的第一大体系 List。 List 是一个接口,定义了一组元素是有序的、可重复的集合。 List 继承自 Collection,较之 Collection,List 还添加了以下操作方法 位置相关:List 的元素是有序的,因此有get(index)、set(index,objec ...
分类:
编程语言 时间:
2017-09-27 00:44:25
阅读次数:
220
学习路线: http://www.cnblogs.com/skywang12345/ 总结 1 总体框架 2 Collection架构 3 ArrayList详细介绍(源码解析)和使用示例 4 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法) 5 Linked ...
分类:
编程语言 时间:
2017-08-31 17:56:46
阅读次数:
174
Java集合工具包位于package java.util下。包含了一些常用的数据结构,如数组、链表(单/双向)、树、栈、队列、哈希表等。 Java集合框架大致可分为五部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collecti ...
分类:
编程语言 时间:
2017-06-30 22:30:59
阅读次数:
205
一、简介 LinkedList是一个常用的集合类,用于顺序存储元素。LinkedList经常和ArrayList一起被提及。大部分人应该都知道ArrayList内部采用数组保存元素,适合用于随机访问比较多的场景,而随机插入、删除等操作因为要移动元素而比较慢。LinkedList内部采用链表的形式存储 ...
分类:
编程语言 时间:
2017-06-20 13:39:57
阅读次数:
274
前言 本文不打算延续前几篇的风格(对所有的源码加入注释),因为要理解透TreeMap的所有源码,对博主来说,确实需要耗费大量的时间和经历,目前看来不大可能有这么多时间的投入,故这里意在通过于阅读源码对TreeMap有个宏观上的把握,并就其中一些方法的实现做比较深入的分析。 红黑树简介 TreeMap ...
分类:
编程语言 时间:
2017-05-29 09:55:55
阅读次数:
255
转载请注明出处:http://blog.csdn.net/ns_code/article/details/37867985 前言:有网友建议分析下LinkedHashMap的源码,于是花了一晚上时间研究了下,分享出此文(这个系列的最后一篇博文了),希望大家相互学习。LinkedHashMap的源码理 ...
分类:
编程语言 时间:
2017-05-29 09:55:23
阅读次数:
206
转载请注明出处:http://blog.csdn.net/ns_code/article/details/36191279 Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动 ...
分类:
编程语言 时间:
2017-05-29 09:51:04
阅读次数:
237
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35793865 Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实 ...
分类:
编程语言 时间:
2017-05-28 23:46:24
阅读次数:
283
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35787253 您好,我正在参加CSDN博文大赛,如果您喜欢我的文章,希望您能帮我投一票,谢谢! 投票地址:http://vote.blog.csdn.net/Article/Details? ...
分类:
编程语言 时间:
2017-05-28 18:54:53
阅读次数:
237