跟王老师学集合ArrayList和Vector实现类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学集合ArrayList和Vector实现类相关的知识,希望对你有一定的参考价值。
ArrayList和Vector异同与HashMap和Hashtable异同
主讲人:王少华 QQ群号:483773664
学习目标:
1、ArrayList和Vector异同
2、HashMap和Hashtable异同
一、ArrayList和Vector异同
ArrayList和Vector在用法上几乎完全相同
Vector是一个古老的集合,从JDK1.0就有了,从JDK1.2以后,Java提供了系统的集合框架,就将Vector改为实现List接口
ArrayList和Vector的显著区别是:
ArrayList是线程不安全的,如果有超过一条纯种修改了ArrayList集合,则程序必须手动保证该集合的同步性;
Vector集合则是线程安全的,无须程序保证该集合的同步性。
因为Vector是线程安全的,所以Vector的性能比ArrayList性能要低。
二、HashMap和Hashtable异同
HashMap和Hashtable都是Map接口的典型实现类,Hashtable是一个古老的Map实现类
HashMap和Hashtable的区别:
Hashtable是线程安全的Map实现,HashMap是线程不安全的实现。
Hashtable不允许使用null作为key和value,如果试图把null值放进Hashtable中,将会引发NullPointerException异常;但HashMap可以使用null作为key或value
1 2 3 4 5 6 7 8 9 10 11 | public class Test { public static void main(String[] args) { HashMap hm = new HashMap(); //试图将两个key为null的key-value对放入HashMap中 hm.put( null , null ); hm.put( null , null ); //会将上面的覆盖 hm.put( null , "b" ); //会将上面的覆盖 hm.put( "a" , null ); System.out.println(hm); } } |
三、视频地址
http://edu.51cto.com/course/course_id-6028.html
以上是关于跟王老师学集合ArrayList和Vector实现类的主要内容,如果未能解决你的问题,请参考以下文章