不懂Java集合?腾讯大牛帮你汇总了相关知识点

本文详细探讨了Java集合框架,包括Collection、List、Set和Map接口及其常用实现类如HashMap、LinkedHashMap和TreeMap。理解这些数据结构的实现原理对于优化代码和应对面试至关重要。HashMap的内部结构、扩容机制、线程安全问题以及Set的重复元素判断等知识点经常出现在面试中。学习集合框架不仅提升编程技能,也是面试必备。

集合在任何语言中都是比较重要的基础知识,不同的集合在实现上采用了各种不同的数据结构,导致了各个集合的性能以及使用方式上存在很大差异,深入了解集合框架的整体结构以及各个集合类的实现原理,并灵活使用各个集合对编码有很大帮助。

Java集合

  • 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。
    • Collection:Collection 是集合 List、Set、Queue 的最基本的接口。
    • Iterator:迭代器,可以通过迭代器遍历集合中的数据
    • Map:是映射表的基础接口
  • 大体关系如下图:

     

如果是集合类型,有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

List集合

纯手打笔记

Map集合

HashMap

LinkedHashMap

TreeMap

ConcurrentHashMap

Set

CopyOnWriteArrayList

Java集合面试题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值