Java 集合思维导图
Java 集合源码笔记
笔记是全程手写出来的,希望大家拿到笔记后别丢进收藏夹吃灰!
领取方式:转发关注,然后添加微信:java9610 备注暗号 牛客 免费领取。
一、学习指南
1、Java 集合学习指南
-
1.1 学习一项技术之前,必须知道为什么要学它!
-
1.2 如何入门学习 Java 集合
-
1.3 集合进阶与面试
二、Collection
1、集合(Collection)介绍
-
1.1 为什么需要 Collection
-
1.2 数组和集合的区别
-
1.3Collection 的由来与功能
2、迭代器(Iterator)介绍
3、List 集合介绍
-
3.1List 集合常用子类
4、Set 集合介绍
-
4.1Set 集合常用子类
三、List 集合
1、ArrayList 解析
-
1.1 构造方法
-
1.2Add 方法
-
1.3 get 方法
-
1.4 set 方法
-
1.5remove 方法
-
1.6 细节再说明
2、Vector 与 ArrayList 区别
3、LinkedList 解析
-
3.1 构造方法
-
3.2add 方法
-
3.3remove 方法
-
3.4get 方法
-
3.5set 方法
4、List 集合总结
四、Map 集合
1、Map 介绍
-
1.1 为什么需要 Map
-
1.2Map 与 Collection 的区别
-
1.3Map 的功能
2、散列表介绍
-
2.1 散列表工作原理
3、红黑树介绍
-
3.1 回顾二叉查找树
-
3.2 知新 2-3 树
-
3.3 从 2-3 树到红黑树
-
3.4 红黑树基础知识
五、HashMap
1、HashMap 剖析
-
1.1HashMap 构造方法
-
1.2put 方法
-
1.3get 方法
-
1.4remove 方法
2、HashMap 与 Hashtable 对比
3、HashMap 总结
六、LinkedHashMap
1、LinkedHashMap
-
1.1LinkedHashMap 的域
-
1.2LinkedHashMap 重写的方法
-
1.3 构造方法
-
1.4put 方法
-
1.5get 方法
-
1.6remove 方法
-
1.7 遍历的方法
2、LinkedHashMap 总结
七、TreeMap
1、TreeMap 剖析
-
1.1TreeMap 的域
-
1.2TreeMap 构造方法
-
1.3put 方法
-
1.4get 方法
-
1.5remove 方法
-
1.6 遍历方法
2、TreeMap 总结
八、ConcurrentHashMap
1、ConCurrentHashMap 剖析
-
1.1 初识 ConCurrentHashMap
-
1.2JDK1.7 底层实现
-
1.3 有了 Hashtable 为啥需要 ConCurrentHashMap
-
1.4CAS 算法和 volatile 简单介绍
-
1.5ConCurrentHashMap 域
-
1.6ConCurrentHashMap 构造方法
-
1.7put 方法
-
1.8get 方法
2、ConcurrentHashMap 总结
九、Set
-
1、HashSet 剖析
-
2、TreeSet 剖析
-
3、LinkedHashSet 剖析
-
4、Set 集合总结
十、CopyOnWriteArrayList
1、Vector 和 SynchronizedList
-
1.1 回顾线程安全的 Vector 和 SynchronizedList
-
1.2Vector 和 SynchronizedList 可能会出现的问题
2、CopyOnWriteArrayList(Set)介绍
-
2.1CopyOnWriteArrayList 实现原理
十一、Java 集合面试题
-
1、ArrayList 和 Vector 的区别
-
2、HashMap 和 Hashtable 的区别
-
3、List 和 Map 的区别
-
4、Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是 equals()?
-
5、Collection 和 Collections 的区别
-
6、说出 ArrayList,LinkedList 的存储性能和特性
-
7、Enumeration 和 Iterator 接口的区别
-
8、ListIterator 有什么特点
-
9、并发集合类是什么?
-
10、Java 中 HashMap 的 key 值要是为类对象则该类需要满足什么条件?
-
11、与 Java 集合框架相关的有哪些最好的实践
-
12、ArrayList 集合加入 1 万条数据,应该怎么提高效率