小弟总结的数组等几个易混淆的概念,大部分结论搜索于网上,请大家来指正,补充:Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变,Vertor是放的Object。
Vertor一维,Hashmap/Hashtabe二维;
Vertor/Arraylist用index作检索,Hashmap/Hashtabe用key作为检索;
Hashmap,Arraylist不是同步的,意味着它们的速度更快;
Hashtable,Vertor是同步的,适用于与线程有关时;
Hashtale的key不能为null,Hashmap的key和values都可以为null;性能方面:
通过索引访问和更新元素时,Vector和ArrayList的实现有着卓越的性能,因为不存在除范围检查之外的其他开销。插入元素和删除元素总是要进行数组复制。LinkedList的实质是个双向链表。ArrayList和Vector通常比LinkedList和同步封装之后的LinkedList有着更好的性能。Hashmap,Arraylist不是同步的,属于轻量级应用,性能上应该好些。
Vertor一维,Hashmap/Hashtabe二维;
Vertor/Arraylist用index作检索,Hashmap/Hashtabe用key作为检索;
Hashmap,Arraylist不是同步的,意味着它们的速度更快;
Hashtable,Vertor是同步的,适用于与线程有关时;
Hashtale的key不能为null,Hashmap的key和values都可以为null;性能方面:
通过索引访问和更新元素时,Vector和ArrayList的实现有着卓越的性能,因为不存在除范围检查之外的其他开销。插入元素和删除元素总是要进行数组复制。LinkedList的实质是个双向链表。ArrayList和Vector通常比LinkedList和同步封装之后的LinkedList有着更好的性能。Hashmap,Arraylist不是同步的,属于轻量级应用,性能上应该好些。
Hashtable,Vertor是同步的,适用于与线程有关时;表达不准确,同步不同步由Collections类的方法确定.他们的快慢与随机访问和顺序访问雷同.
Hashtable,Vertor是同步的,适用于与线程有关时;表达不准确,同步不同步由Collections类的方法确定.他们的快慢与随机访问和顺序访问雷同.-----------------------------------访问的快慢当然与同步与否有关了,同步必然导致速度相对下降
Vertor是放的Object。
Vertor一维,Hashmap/Hashtabe二维;
Vertor/Arraylist用index作检索,Hashmap/Hashtabe用key作为检索;
Hashmap,Arraylist不是同步的,意味着它们的速度更快;
Hashtable,Vertor是同步的,适用于与线程有关时;
Hashtale的key不能为null,Hashmap的key和values都可以为null;性能方面:
通过索引访问和更新元素时,Vector和ArrayList的实现有着卓越的性能,因为不存在除范围检查之外的其他开销。插入元素和删除元素总是要进行数组复制。LinkedList的实质是个双向链表。ArrayList和Vector通常比LinkedList和同步封装之后的LinkedList有着更好的性能。Hashmap,Arraylist不是同步的,属于轻量级应用,性能上应该好些。
HashMap的key和value都可以为null吗?可以
====================
那element删除和插入的性能怎么说呢?