如果是集合类型,有List和Set供 我们选择。List的特 点是插入有序的,元素是可重复的。Set的特点是插入无序的,元素不可重复的。至于选择哪个实现类来作为我们的存储容器,我们就得看具体的应用场景。是希望可重复的就得用List,选择List 下常见的子类。是希望不可重复,选择Set下常见的子类。
如果是Key -value型,那我们会选择Map。如果要保持插入顺序的,我们可以选择LinkedHashMap,如果不需要则选择HashMap,如果要排序则选择TreeMap。
总之:学完常见实现类的数据结构之后,你对它的使用场景就有一一个清楚的认知了。
Java集合是面试的重点,我在面试的时候几乎每家公司都会问集合的问题,从基础到源码,一步-步深入。Java集合面试的知识点就不限于基本的用法了。可能面试官会问你:
- HashMap的数 据结构是什么?他是怎么扩容的? 底层有没有用红黑树?取Key Hash值是JDK源码
- 是怎么实现的?为什么要这样做?
- HashMap是线程安全的吗?什么是线程安全?有什么更好的解决方案?那线程安全的HashMap是
- 怎么实现的?
- HashSet是如何判断Key是重复的?
- ...很多很多
进入正题,我们来学习这份笔记的内容。这份笔记将会涉及到:Collection、List集合、Map集合、HashMap、LinkedHashMap 、TreeMap、ConcurrentHashMap、Set、CopyOnWriteArrayList、Java集合面试题
Collection
![91ca41cc158344818ac4cba8c14f2723.png](https://img-blog.csdnimg.cn/img_convert/91ca41cc158344818ac4cba8c14f2723.png)
List集合
![a828eced74204b62db71797a281d4d13.png](https://img-blog.csdnimg.cn/img_convert/a828eced74204b62db71797a281d4d13.png)
![57fbe62e7f9663d9e44f5ce15fa59c61.png](https://img-blog.csdnimg.cn/img_convert/57fbe62e7f9663d9e44f5ce15fa59c61.png)
纯手打笔记
Map集合
![b5c60de6804214e5706287d4d69dfe73.png](https://img-blog.csdnimg.cn/img_convert/b5c60de6804214e5706287d4d69dfe73.png)
HashMap
![1ddaa93b3f812d1cbbc68108643e38f3.png](https://img-blog.csdnimg.cn/img_convert/1ddaa93b3f812d1cbbc68108643e38f3.png)
LinkedHashMap
![9b29f0c4e83544cc31cb7d147db181ee.png](https://img-blog.csdnimg.cn/img_convert/9b29f0c4e83544cc31cb7d147db181ee.png)
TreeMap
![3712fd90fa9ceece6cbef194873cc311.png](https://img-blog.csdnimg.cn/img_convert/3712fd90fa9ceece6cbef194873cc311.png)
![0feb9fcb9faf9dd278f85ce4a9fbbe92.png](https://img-blog.csdnimg.cn/img_convert/0feb9fcb9faf9dd278f85ce4a9fbbe92.png)
需要免费领取这份笔记的朋友麻烦帮忙转发一下这篇文章+关注我,然后私信【111】获取
ConcurrentHashMap
![5fd5704394595a507ab637db4f155683.png](https://img-blog.csdnimg.cn/img_convert/5fd5704394595a507ab637db4f155683.png)
Set
![d713e67dc8661f1f321c85fbbd3bde1a.png](https://img-blog.csdnimg.cn/img_convert/d713e67dc8661f1f321c85fbbd3bde1a.png)
CopyOnWriteArrayList
![fe484a3e2796695a78cd79bd39288fd1.png](https://img-blog.csdnimg.cn/img_convert/fe484a3e2796695a78cd79bd39288fd1.png)
![aea8d8d523b7ecda0ee6dadf7fe13ef5.png](https://img-blog.csdnimg.cn/img_convert/aea8d8d523b7ecda0ee6dadf7fe13ef5.png)
Java集合面试题
![163ae38392ad31540187e205468b26ed.png](https://img-blog.csdnimg.cn/img_convert/163ae38392ad31540187e205468b26ed.png)
需要免费领取这份笔记的朋友麻烦帮忙转发一下这篇文章+关注我,然后私信【111】获取