ArrayList、Vector、LinkedList的区别及其优缺点?HashMap、HashTable的区别及其优缺点?
2012-06-08 02:25
447 查看
ArrayList、Vector、LinkedList的区别及其优缺点
ArrayList 和Vector是采用数组方式存储数据的,是根据索引来访问元素的,都可以根据需要自动扩展内部数据长度,以便增加和插入元素,都允许直接序号索引元素,但是插入数据要涉及到数组元素移动等内存操作,所以索引数据快插入数据慢,他们最大的区别就是synchronized同步的使用
LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList
HashMap、HashTable的区别及其优缺点
HashTable 中的方法是同步的 HashMap的方法在缺省情况下是非同步的 因此在多线程环境下需要做额外的同步机制
HashTable不允许有null值 key和value都不允许,而HashMap允许有null值 key和value都允许 因此HashMap 使用containKey()来判断是否存在某个键
HashTable 使用Enumeration ,而HashMap使用iterator
Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类
ArrayList 和Vector是采用数组方式存储数据的,是根据索引来访问元素的,都可以根据需要自动扩展内部数据长度,以便增加和插入元素,都允许直接序号索引元素,但是插入数据要涉及到数组元素移动等内存操作,所以索引数据快插入数据慢,他们最大的区别就是synchronized同步的使用
LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList
HashMap、HashTable的区别及其优缺点
HashTable 中的方法是同步的 HashMap的方法在缺省情况下是非同步的 因此在多线程环境下需要做额外的同步机制
HashTable不允许有null值 key和value都不允许,而HashMap允许有null值 key和value都允许 因此HashMap 使用containKey()来判断是否存在某个键
HashTable 使用Enumeration ,而HashMap使用iterator
Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类
相关文章推荐
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点?
- List接口实现类ArrayList、Vector、LinkedList的区别?HashMap和Hashtable区别?
- ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别
- Vector和ArrayList区别 Hashtable和HashMap区别 ArrayList和LinkedList
- Vector与 ArrayList、Hashtable 与 HashMap、ArrayList 与 LinkedList的区别
- 常用对象API(ArrayList,Vector,LinkedList的存储性能和特性,HashMap和HashTable的区别)
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点?
- ArrayList、Vector、LinkedList的区别及其优缺点? (转载)
- ArrayList、Vector、LinkedList的区别及其优缺点?
- 两个常见问题: HashMap和Hashtable的区别 , ArrayList,Vector, LinkedList的存储性能和特性
- ArrayList、Vector、LinkedList的区别及其优缺点?
- 黑马程序员---ArrayList、Vector、LinkedList的区别及其优缺点?
- list,arraylist,vector,hashmap,hashtable区别于联系追根问底
- List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法