1.List/Set/Map
- List(顺序的好帮手): 存储的元素是有序的、可重复的。
- Set(独一无二性质): 存储的元素是无序的、不可重复的。
- Map(用 Key 搜索): 使用键值对(key-value)存储,类似于数学上的函数 y=f(x),“x”代表
key,"y"代表 value,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。
2. Collection 子接口之 List
2.1ArrayList 与 LinkedList 区别
-
ArrayList 实现了基于动态数组的数据结构, LinkedList实现了基于双向链表的数据结构 -
ArrayList 查找速度快,增加和删除动作慢 LinkedList 查找速度慢,增加和删除动作快 -
ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全
3. Collection 子接口之 Set
3.1HashSet、LinkedHashSet 和 TreeSet 区别
- HashSet : Set 接口的主要实现类 ,底层是 HashMap,线程不安全的,可以存储 null 值;
- LinkedHashSet : HashSet 的子类,能够按照添加元素的顺序遍历;
- TreeSet :底层使用红黑树,能够按照添加元素的顺序遍历,排序的方式有自然排序和定制排序。
4.Map接口
4.1 HashMap 和 Hashtable 的区别
4.2 HashMap 和 HashSet 的区别
|