容器(一)常见的容器体系
定义:容器,可以存放对象的对象,对于基本数据类型,将其包装后存储
特点:
- 降低编程难度
- 提高程序性能
- 提高API间的互操作性
- 降低学习难度
- 降低设计和实现相关API难度
- 增加程序的重用性
包含:Collection和Map,前者存储对象集合,后者存储键值对的映射表
Collection
包含List和Set:
常见List:
- ArrayList:底层是数组,重复,有序
- Queue-LinkedList:底层是双向链表,重复,有序。可用作栈,队列
- Queue-PriorityQueue:基于堆结构实现。用他做优先队列
- Vector:线程安全,和ArrayList类似
常见Set
- HashSet:随机存储,不可重复,基于哈希表实现,快速查找,查找效率高
- TreeSet:按指定顺序存储,不可重复,基于红黑树实现,查找效率不如HashSet
- LinkedHashSet:具有HashSet查找效率,内部由双向链表实现插入顺序
Map
- HashMap:哈希表实现
- TreeMap:红黑树实现
- LinekdHashMap:基于双向链表维护
- HashTable:和HashMao类似,线程安全。效率较差,但是基本不用,如果保证线程安全,使用 ConcurrentHashMao,因为有分段锁