集合
-
集合:单例、双例
- 单例:
Interable(接口): 获得迭代器,从而使用增强for循环
Collection(接口): 集合(有序集合、无序集合)
**List**(接口):有序集合 **ArrayList**(类)、 **LinkedList**(类)、**Vector**(类) **set**(接口):无序集合-
双例:
Map 接口
**HshMap** 类、**LinkedHashMap** 类、**Hashtable** 类
如图所示:
#### List 接口
- List接口表示有序集合,每一个元素都有索引号
- 值可以重复,且可为null
##### ArrayList集合
- 底层采用`数组结构`
- *特点*: 添加、删除慢,查询快。
##### LinkedList集合
- 底层采用`链表结构`
- *特点*: 添加、删除快,查询慢
##### Vector集合(了解即可)
- 线程安全
- JDK1.0 老版本集合
#### Set接口
- 无序集合,值不能重复
- 无顺序,无索引号
#### Map接口
- Map是双例集合,以键值对存储(key/value)。
- Map特点:Key不能重复,value可以重复
**HashMap:**
- 基于hash表Map实现
- 非线程安全
- 性能高
- `底层采用链表+数组结构`
**LinkedHashMap:**
- `底层采用链表`
- 在HashMap基础上,使用没有差异
**Hashtable:**
- 线程安全
- 不支持null为键或值
- 性能低‘
- 老版本实现已经被HashMap替代