实线代表继承,虚线代表实现。
单列集合
- List
- Set
双列集合
- Map
对比
区别 | List | Set | Map |
---|---|---|---|
重写toString()方法 | 抽象类AbstractCollection中重写 | 抽象类AbstractCollection中重写 | 抽象类AbstractMap类中重写 |
other | Set的底层是基于Map实现的 |
Collection的概念是JDK1.2版本出现的;List中的Vector、Map中的HashTable是JDK1.0出现的。
Vector已被ArrayList取代,HashTable已被HashMap取代。
尽管 Vector、HashTable是线程安全的,ArrayList、HashMap是线程不安全的,但Collections.synchronizedXXX()方法可以让线程不安全的变为线程安全的。所以,不用担心线程安全的问题。