【新手向】如何学习Java集合

前言

只有光头才能变强。git

文本已收录至个人GitHub精选文章,欢迎Stargithub.com/ZhongFuChen…github

若是认识个人同窗可能就知道,我已经写过不少系列级的文章了,可是没有一篇是写给刚入门的同窗来看的,大多数都是依照我我的的学习进度来编写。面试

系列级文章

虽然能够按照个人文章顺序去一篇一篇阅读,可是若是是新入门的同窗可能更但愿获得的是一个学习指南(路线指引)。因而我就有了这篇文章,但愿对刚入门的同窗有所帮助。数组

若是这篇文章的反响不错,会持续更新其余的专题。以为我写得不错,但愿能够给我一个安全

Java集合学习指南

本文会提出不少可能新手会想到的问题,但不会一一解答,只会往大方向去说明白。本文的内容偏向于指南,而非技术教程讲解。服务器

若是想要获得具体的答案,能够翻阅我曾经写过的资料:github.com/ZhongFuChen…,或者加入人才交流群跟众多开发者讨论,前面的Github连接有个人联系方式。数据结构

学习一项技术以前,必须知道为何要学它!

Q: 咱们得知道为何要学习Java集合,学到Java集合的时候已经学过了数组了,为何我不用数组反而用Java集合。数组和Java集合有什么区别?工具

学习Java集合先须要知道

A:Java是一门面向对象的语言,就免不了处理对象,为了方便操做多个对象,那么咱们就得把这多个对象存储起来,想要存储多个对象(变量),很容易就能想到一个容器(集合)来装载学习

总的来讲:就是Java给咱们提供了工具方便咱们去操做多个Java对象编码

方便操做多个对象

如何入门学习Java集合

Q: 从上面咱们已经知道了为何要学Java集合,下面咱们就该知道Java集合的基本用法,以及从它总体的知识点去了解它是什么

入门Java集合

A: 咱们学习Java集合实际上就是为了方便操做多个对象,而Java给咱们提供一系列的API(方法)供咱们去操做。因此在初学Java集合的时候咱们更多的是学习这些API(方法)分别是什么意思。

API的用法以及效果

Q: 对Java集合的API使用有必定的了解以后,咱们就应该从面向对象的角度去理解它。为何会抽象出多个接口,以及每一个接口的有什么特性。

从面向对象的角度去理解接口以及每一个接口下的经常使用类

A: 咱们能够总结出几个经常使用的实现类,这几个经常使用的实现类咱们必需要知道它的数据结构是什么,何时使用这个类。

须要知道每一个经常使用子类的数据结构

须要学习和了解的数据结构:

数据结构

到这里,咱们简单了解各个实现类的数据结构之后,咱们可能会简单记住下面的结论

  • 若是是集合类型,有List和Set供咱们选择。List的特色是插入有序的,元素是可重复的。Set的特色是插入无序的,元素不可重复的。至于选择哪一个实现类来做为咱们的存储容器,咱们就得看具体的应用场景。是但愿可重复的就得用List,选择List下常见的子类。是但愿不可重复,选择Set下常见的子类。
  • 若是是Key-Value型,那咱们会选择Map。若是要保持插入顺序的,咱们能够选择LinkedHashMap,若是不须要则选择HashMap,若是要排序则选择TreeMap。
  • 总之:学完常见实现类的数据结构以后,你对它的使用场景就有一个清楚的认知了。

选择什么样的容器来存储咱们的对象,关键在于了解每一个经常使用集合类的数据结构

集合进阶与面试

若是咱们在写代码的时候懂得选择什么样的集合做为咱们的容器,那已是入门了。但要知道的是,若是去面试以前,你懂的不该该只有这么少。

(若是还在初学或者零基础的同窗我建议能够跳过这一部分,在网上有可能不少言论,好比:“若是你Java基础扎实的话,那你之后找工做就不愁了。在学Java基础的时候必定要把基础学好,看源码!”。但我认为,这一块是创建在有必定的编码/项目或者是去找工做的时候才成立的,一个刚入门学Java的,就不该该看源码,这很容易把本身劝退了

个人观点是:若是刚入门学Java,首先你要十分清楚知道为何要学这个,这个到底有什么用,用在哪些地方,以及熟悉经常使用的方法,就足够了。即使你花了两周左右时间去看源码实现了,可能看懂了。可是,你相信我,你大几率会忘掉

Java集合是面试的重点,我在面试的时候几乎每家公司都会问集合的问题,从基础到源码,一步一步深刻。Java集合面试的知识点就不限于基本的用法了。可能面试官会问你:

  • HashMap的数据结构是什么?他是怎么扩容的?底层有没有用红黑树?取Key Hash值是JDK源码是怎么实现的?为何要这样作?
  • HashMap是线程安全的吗?什么是线程安全?有什么更好的解决方案?那线程安全的HashMap是怎么实现的?
  • HashSet是如何判断Key是重复的?
  • .....不少不少

总结

若是想要获得具体的答案,能够翻阅我曾经写过的资料:github.com/ZhongFuChen…,或者加入人才交流群跟众多开发者讨论,前面的文章连接有个人联系方式。

脑图的原图GitHub上也有获取的方式

最后

服务器89/年,229/3年,买来送本身,送女友立刻过年再合适不过了,买了搭建个项目给面试官看也香,还能够熟悉技术栈,(老用户用家人帐号买就行了,我用我女友的😂)。扫码或者点击购买

搭建教程,从0开始一步一步带你搭建😂

总的来讲,入门Java集合并不难,归根到底我认为就是三件事:

  • 了解为何要学习Java集合
  • 学习Java集合的各个接口以及经常使用的实现类用法
  • 学习经常使用实现类的数据结构是什么,能在写代码的时候选择一个合适的实现类装载本身的对象。

零基础入门不须要阅读源码,面试前必定要回顾和阅读源码(这是面试必考的知识点)!

总结本文

本已收录至个人GitHub精选文章,欢迎Stargithub.com/ZhongFuChen…

乐于输出干货的Java技术公众号:Java3y。公众号内有300多篇原创技术文章、海量视频资源、精美脑图,关注便可获取!

转发到朋友圈是对我最大的支持!

很是感谢人才们能看到这里,若是这个文章写得还不错,以为「三歪」我有点东西的话 求点赞 求关注️ 求分享👥 求留言💬 对暖男我来讲真的 很是有用!!!

创做不易,各位的支持和承认,就是我创做的最大动力,咱们下篇文章见!

相关文章
相关标签/搜索