java 一文讲透集合框架(10万字博文)

举报
Cyan_RA9 发表于 2023/05/04 17:14:32 2023/05/04
【摘要】 java API常用工具之集合框架 全面总结,10万字深度讲解。

目录

一、前言

二、集合简介

        1.定义 : 

        2.集合与数组的区别 : 

        3.集合的好处 : 

三、集合框架

        1.单列集合

        2.双列集合

        Δ体系图(重要)

四、List集合详解(三万余字)

五、Set集合详解(三万余字)

六、增强for和迭代器 万字详解

七、Map集合详解(三万余字)

八、Collections类详解

九、泛型详解

十、集合框架总结


一、前言

        本篇博文是对Java 集合框架的一个全面总结,同时也囊括了我们“API(常用工具)”专题——集合篇章的几乎全部内容。屏幕前的你一定或多或少地听说过“集合框架”这个响当当的名词。“集合框架”绝不仅仅是指“java 集合体系图”那么简单,也绝不仅仅局限于几个常用实现类的使用那么肤浅;我们还必须从底层源码的角度去寻根问底,了解不同实现类的特点,以及不同实现类之间的联系和区别,保持虚心,不断练习,才能真正地掌握集合框架。

        本篇博文将会从集合体系图总览List集合体系Set集合体系Map集合体系增强for和迭代器这五个大的方面同大家娓娓而谈。重点部分是对常用实现类(比如ArrayList和HashSet)的源码分析,up投入最大,相信你看完一定有收获。注意 : ①代码中的注释也很重要。点击目录或者侧边栏可以跳转。良工不示人以朴,所有文章都会适时改进。感谢阅读!


二、集合简介

        1.定义 : 

                集合,简称集,是用来存储多个元素的容器。

        2.集合与数组的区别 : 

                1° 元素类型 : 

                        集合——引用类型(存储基本类型时自动装箱)

                        数组——即可存储基本类型,也可存储引用类型(但不能混用)

                2° 元素个数 : 

                        集合——不固定,可进行任意扩容
                        数组——固定,长度一旦指定,不能更改

        3.集合的好处 : 

                集合不受容器大小限制,可以随时添加或删除元素;可以动态地保存任意多个对象。

                集合提供了大量操作元素的方法(判断、获取等),便于操作。


三、集合框架

        1.单列集合

                List(接口): 

                        常用实现类——ArrayList, LinkedList, Vector        

                Set(接口):

                        常用实现类——HashSet, TreeSet

        2.双列集合

                Map(接口):

                        常用实现类——HashMap, LinkedHashMap, Hashtable, Properties, TreeMap

        Δ体系图(重要

image.png

                Δ注意 : Collection, List, Set, Map这四个都是接口。


四、List集合详解(三万余字)

                链接如下 : 

image   https://blog.csdn.net/TYRA9/article/details/127916263            

List集合主要内容包括 : 

                ①List集合概述
                ②List集合特点
                ③使用集合的经典四部曲
                ④List集合常用方法演示
                ⑤List接口实现类——ArrayList 源码分析
                ⑥List接口实现类——Vector 源码分析
                ⑦List接口实现类——LinkedList 源码分析


五、Set集合详解(三万余字)

                链接如下 : 

image  https://blog.csdn.net/TYRA9/article/details/129614936             

Set集合主要内容包括 : 

                ①Set集合简介

                ②Set集合常用方法演示

                ③Set接口实现类——HashSet 源码分析

                ④Set接口实现类——LinkedHashSet 源码分析

                ⑤Set接口实现类——TreeSet 源码分析


六、增强for和迭代器 万字详解

                链接如下 : 

image   https://blog.csdn.net/TYRA9/article/details/127972439            

增强for和迭代器主要内容包括 : 

                ①增强for的格式

                ②增强for的演示

                ③增强for的优缺点

                ④迭代器的常用方法

                ⑤迭代器的使用方式

                ⑥迭代器的执行原理


七、Map集合详解(三万余字)

                链接如下 : 

image                https://blog.csdn.net/TYRA9/article/details/129739541

Map集合主要内容包括 : 

                ①Map集合的简介

                ②Map集合的常用方法

                ③Map集合的遍历方式

                ④Map接口实现类——HashMap 源码分析

                ⑤Map接口实现类——Hashtable 源码分析

                ⑥Map接口实现类——TreeMap 源码分析


八、Collections类详解

                链接如下 : 

image                https://blog.csdn.net/TYRA9/article/details/129906494

Collections主要内容包括 : 

                ①Collections类简介

                ②Collections类常用方法演示


九、泛型详解

                链接如下 : 

image                https://blog.csdn.net/TYRA9/article/details/130038813

泛型主要内容包括 : 

                ①泛型的由来

                ②泛型的格式

                ③泛型的使用

                ④自定义泛型类

                ⑤自定义泛型接口

                ⑥通配符的使用

                ⑦JUnit框架的使用


十、集合框架总结

        再次回顾我们的集合篇章,我们从集合与数组的对比开始,先介绍了集合的框架体系图,又将List接口,Set接口,Map接口分别展开来讲解,并通过断点调试的方式详细分析了这些个接口的一些常用实现类的底层源码。接着,我们又穿插了关于增强for和迭代器,关于Collections工具类,关于泛型的知识的讲解。

        那么,学了这么多集合实现类,到底啥时候用啥,什么情况用什么呢?莫慌,集合实现类的选择,主要取决于业务操作特点和集合实现类本身的特点,up用一张图解决你的疑惑,如下图所示

image.png        

🆗,以上就是我们“API(常用工具)”专题——集合篇章的全部内容了。下一个篇章是我们的java常用工具之IO流(当然,up之前已经出过了IO流的博文)。感谢阅读!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。