不推荐
- Vector,通过数组的方式存储数据,线程安全。属于遗留容器,不推荐使用
- Hashtable属于遗留容器。不推荐使用。线程安全。
- Dictionary属于遗留容器。不推荐使用。
- BitSet属于遗留容器。不推荐使用。
- Stack属于遗留容器。不推荐使用。继承Vector。JVM设计败笔。
- Properties属于遗留容器。不推荐使用。继承Hashtable。JVM设计败笔。
推荐
- HashMap 实现MAP接口,非线程安全的
- HashSet 基于HashMap实现
- ConcurrentHashMap JUC中提供,实现MAP接口,用于替代Hashtable,线程安全
- ArrayList 非线程安全的。可以通过工具类Collections中的synchronizedList方法将其转换成线程安全的容器后再使用,使用数组方式存储数据
- LinkedListed 非线程安全。可以通过工具类Collections中的synchronizedList方法将其转换成线程安全的容器后再使用,使用双向链表存储数据
- TreeMap 底层是红黑树。相比与hashmap o(1)的存取速度,TreeMap对元素的操作复杂度为O(logn),非线程安全
- TreeSet 基于TreeMap实现,非线程安全