目录
一、前言
二、集合简介
1.定义 :
2.集合与数组的区别 :
3.集合的好处 :
三、集合框架
1.单列集合
2.双列集合
Δ体系图(重要)
四、List集合详解(三万余字)
五、Set集合详解(三万余字)
六、增强for和迭代器 万字详解
七、Map集合详解(三万余字)
八、Collections类详解
九、泛型详解
十、集合框架总结
本篇博文是对Java 集合框架的一个全面总结,同时也囊括了我们“API(常用工具)”专题——集合篇章的几乎全部内容。屏幕前的你一定或多或少地听说过“集合框架”这个响当当的名词。“集合框架”绝不仅仅是指“java 集合体系图”那么简单,也绝不仅仅局限于几个常用实现类的使用那么肤浅;我们还必须从底层源码的角度去寻根问底,了解不同实现类的特点,以及不同实现类之间的联系和区别,保持虚心,不断练习,才能真正地掌握集合框架。
本篇博文将会从集合体系图总览,List集合体系,Set集合体系,Map集合体系,增强for和迭代器这五个大的方面同大家娓娓而谈。重点部分是对常用实现类(比如ArrayList和HashSet)的源码分析,up投入最大,相信你看完一定有收获。注意 : ①代码中的注释也很重要。②点击目录或者侧边栏可以跳转。良工不示人以朴,所有文章都会适时改进。感谢阅读!
集合,简称集,是用来存储多个元素的容器。
1° 元素类型 :
集合——引用类型(存储基本类型时自动装箱)
数组——即可存储基本类型,也可存储引用类型(但不能混用)
2° 元素个数 :
集合——不固定,可进行任意扩容
数组——固定,长度一旦指定,不能更改
1° 集合不受容器大小限制,可以随时添加或删除元素;可以动态地保存任意多个对象。
2° 集合提供了大量操作元素的方法(判断、获取等),便于操作。
List(接口):
常用实现类——ArrayList, LinkedList, Vector
Set(接口):
常用实现类——HashSet, TreeSet
Map(接口):
常用实现类——HashMap, LinkedHashMap, Hashtable, Properties, TreeMap
Δ注意 : Collection, List, Set, Map这四个都是接口。
链接如下 :
https://blog.csdn.net/TYRA9/article/details/127916263https://blog.csdn.net/TYRA9/article/details/127916263 List集合主要内容包括 :
①List集合概述
②List集合特点
③使用集合的经典四部曲
④List集合常用方法演示
⑤List接口实现类——ArrayList 源码分析
⑥List接口实现类——Vector 源码分析
⑦List接口实现类——LinkedList 源码分析
链接如下 :
https://blog.csdn.net/TYRA9/article/details/129614936https://blog.csdn.net/TYRA9/article/details/129614936 Set集合主要内容包括 :
①Set集合简介②Set集合常用方法演示
③Set接口实现类——HashSet 源码分析
④Set接口实现类——LinkedHashSet 源码分析
⑤Set接口实现类——TreeSet 源码分析
链接如下 :
https://blog.csdn.net/TYRA9/article/details/127972439https://blog.csdn.net/TYRA9/article/details/127972439 增强for和迭代器主要内容包括 :
①增强for的格式
②增强for的演示
③增强for的优缺点
④迭代器的常用方法
⑤迭代器的使用方式
⑥迭代器的执行原理
链接如下 :
https://blog.csdn.net/TYRA9/article/details/129739541https://blog.csdn.net/TYRA9/article/details/129739541 Map集合主要内容包括 :
①Map集合的简介
②Map集合的常用方法
③Map集合的遍历方式
④Map接口实现类——HashMap 源码分析
⑤Map接口实现类——Hashtable 源码分析
⑥Map接口实现类——TreeMap 源码分析
链接如下 :
https://blog.csdn.net/TYRA9/article/details/129906494https://blog.csdn.net/TYRA9/article/details/129906494 Collections主要内容包括 :
①Collections类简介
②Collections类常用方法演示
链接如下 :
https://blog.csdn.net/TYRA9/article/details/130038813https://blog.csdn.net/TYRA9/article/details/130038813 泛型主要内容包括 :
①泛型的由来
②泛型的格式
③泛型的使用
④自定义泛型类
⑤自定义泛型接口
⑥通配符的使用
⑦JUnit框架的使用
再次回顾我们的集合篇章,我们从集合与数组的对比开始,先介绍了集合的框架体系图,又将List接口,Set接口,Map接口分别展开来讲解,并通过断点调试的方式详细分析了这些个接口的一些常用实现类的底层源码。接着,我们又穿插了关于增强for和迭代器,关于Collections工具类,关于泛型的知识的讲解。
那么,学了这么多集合实现类,到底啥时候用啥,什么情况用什么呢?莫慌,集合实现类的选择,主要取决于业务操作特点和集合实现类本身的特点,up用一张图解决你的疑惑,如下图所示 :,以上就是我们“API(常用工具)”专题——集合篇章的全部内容了。下一个篇章是我们的java常用工具之IO流(当然,up之前已经出过了IO流的博文)。感谢阅读!