目录
1.Collection接口
2.List
2.1概述
2.2Vector和ArrayList、LinkedList联系和区别?分别的使用场景?
2.3如果需要保证ArrayList的线程安全需要怎么做?有几种方法?
2.3.1保证ArrayList的线程安全需要怎么做?有几种方法?
2.3.2追问:了解CopyOnWriteArrayList吗?和Collections.synchronizedList实现线程安全有什么区别,使用场景是什么?
2.3.3追问:CopyOnWriteArrayList的设计思想是什么?有什么缺点?
2.3.4追问:什么是COW?
2.3.5追问:CopyOnWriteArrayList的特点?
3.Set
4.Map
4.1概述
4.2ThreadLocal
4.3红黑树知识点补充
4.3.1红黑树(自平衡二叉查找树)、平衡二叉树(AVLTree)
4.3.2红黑树到底比AVL树好在哪里?
4.3.3红黑树的3个关键特征
4.3.4什么是n阶B树
4.4ConcurrentHashMap
4.4.1什么是ConcurrentHashMap
4.4.2ConcurrentHashMap和Hashtable的区别
4.4.3ConcurrentHashMap原理
4.4.4源码解读
4.4.5建议使用mappingCount()方法而非size()
5.Queue
6.Stack
7.Set
1.Collection接口
2.Iterator和ListIterator
Iterator 和 ListIterator 都是Java集合框架中的迭代器,具体对比如下:
- 适用范围不同
- Iterator:是通用迭代器,支持遍历所有Collection子类集合,包括Set和List。
- ListIterator:仅支持遍历List接口的实现类(如ArrayList、LinkedList),无法用于非List集合。
- 遍历方向不同
- Iterator:仅支持单向(前向)遍历,只能通过hasNext()和next()方法从前往后访问元素。
- ListIterator:支持双向遍历,除了前向遍历外,还可以通过hasPrevious()和