LinkedList, ArrayList,Vector 区别 hashmap和hashtable区别

hashmap和hashtable的区别:

1.hashmap允许键值为null,hashtable不允许键值为null(编译期正常,运行时报异常)

2.hashmap不是线程安全的,hashtable是线程安全的  (具体原因还是没明白,源代码竟然看不懂)

3.hashmap取键值hashmap.getKeySet(),set取数据是用的Iterator,hashtable用的是Enumeration。

4.由于hashmap不是线程安全的,所以速度比hashtable快。

 

 Hashtable hashtable=new Hashtable();
	   hashtable.put("a", "abound");
	   hashtable.put("b", "bus");
	   hashtable.put("c", "class");
	
	   Enumeration e=hashtable.keys();
	   for(;e.hasMoreElements();){
		  Object object=e.nextElement();
		  System.out.println(object);
		   
	   }
	   System.out.println("");
	   Set set=hashtable.keySet();
	   for(Iterator it=set.iterator();it.hasNext();){
		    Object obj= it.next();
		    System.out.println(obj);
		   
	   }
	

结果是一样的。

 

LinkedList 和 ArrayList的区别:

1.Linkedlist是增删比较简单,访问时比较慢,如果在最后面追加,要比arraylist麻烦一点,因为LinkedList需要记录前后元素,而ArrayList只是追加值,如果在中间插入的话,LinkedList要比ArrayList快,因为LinkedList只用在此位置加入这个值,然后与前后元素关联。而ArrayList插入的话,需要将此位置的元素都向后挪动。删除原则是一样的。

2.linkedList是双向链表,而ArrayList实现方式是数组。

3.他们都实现List接口

 

 

ArrayList与Vector的区别:

1.Vector也实现了List接口,和ArrayList的区别是Vector实现了线程同步,结构和arrayList几乎一样,Vector速度要慢一些。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值