目录
Map
1、Map 是键值对,键 Key 是唯一不能重复的,一个键对应一个值,值可以重复。
2、TreeMap 可以保证顺序,HashMap 不保证顺序,即为无序的。
3、Map 中可以将 Key 和 Value 单独抽取出来。
①、其中 KeySet()方法可以将所有的 keys 抽取成一个 Set。
②、Values()方法可以将 map 中 所有的 values 抽取成一个集合。
Set
不包含重复元素的集合,set 中最多包含一个 null 元素,只能用 Iterator 实现单项遍历,Set
中没有同步方法。
List
有序的可重复集合,可以在任意位置增加删除元素,用 Iterator 实现单向遍历,也可用
ListIterator 实现双向遍历。
Queue
Queue遵从先进先出原则
使用时尽量避免add()和remove()方法,而是使用offer()来添加元素,
使用 poll()来移除元素,它的优点是可以通过返回值来判断是否成功,
LinkedList 实现了 Queue 接口,Queue 通常不允许插入 null 元素。
Stack
Stack 遵从后进先出原则
Stack 继承自 Vector,它通过五个操作对类 Vector 进行扩展,允许将向量视为堆栈,它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek()方法、测试堆栈是否为空的 empty 方法等。
用法
如果涉及堆栈,队列等操作,建议使用 List。
对于快速插入和删除元素的,建议使用 LinkedList。
如果需要快速随机访问元素的,建议使用 ArrayList