数据结构(精华)及遍历(迭代器)
前文:
所有数据结构的区别
一、Collection接口
二、List
1.底层结构及API
2.Arraylist 与 LinkedList 区别
3.ArrayList 与 Vector 区别
三、Set
1.底层结构
四、Map
1.底层结构
2.Map的遍历方式
(1) keySet() 返回的是map对象的key值的set集合
(2) entrySet() 返回映射所包含的映射关系的Set集合(速度更快,效率更高!!)
3.HashMap
(1)HashMap的底层实现
(2)HashMap 和 HashSet 区别
(3)HashMap 和 Hashtable 的区别
(4)HashMap 的相关问题
HashMap 的长度为什么是2的幂次方?
HashMap 多线程操作为什么会导致死循环问题?
4.ConcurrentHashMap
(1)ConcurrentHashMap
(2)ConcurrentHashMap 和 Hashtable 的区别
五、遍历方式
1.for循环:用于数组遍历
2.迭代器:(foreach底层是调用iterator) 用于链表、散列算法数据结构
3.数据结构的遍历方式
List中 ArrayList底层数组用for循环遍历,LinkedList底层为链表用foreach或iterator;
Set都是基于hash算法,用迭代器遍历。
Map先转换成Set,再用迭代器遍历。