比较常用的集合类
- ArrayList
- Vector
- Stack
- LinkedList
- HashMap
- Hashtable
如何遍历HashMap
- 由于其是以键值对形式存在的,可以使用iterator来遍历
Hashtable 与 HashMap区别
一. 历史原因
- Hashtable 基于Dictionary类
- HashMap 为Map接口的实现
二. 同步性
- Hashtable 为同步的,保证线程安全,但会影响执行效率
- HashMap为异步的,执行效率高,但在多线程的时候不安全
三. 值
- Hashtable 不能放入null作为key或value
- HashMap 可以
ArrayList 与 Vector区别
一. 同步性
- ArrayList 与HashMap性质相似,为异步的
- Vector与HashTable性质相似,为同步的
二. 数据增长
- Vector在长度不够的时候增长一倍,在处理大量数据的时候使用有优势,通过设置初始化的大小来减少资源开销
- ArrayList在长度不够的时候增长50%
进一步理解集合框架
要求线程安全的时候,使用
Vector
,Hashtable
对线程不做要求,使用
ArrayList
,LinkedList
,HashMap
使用键值对, 使用
HashMap
,Hashtable
数据量很大, 又要考虑线程安全,使用
Vector