1.两者实现线程安全的方式都是通过重量级锁实现的,所以当代码量比较大时就会占用大量资源这显然不太可观;
2.hashMap和hashTable不同点:
2.1hashMap的key可以为nul,hashTable不可以为null,前者key为null是hash值为0,不为null时高低位与运算。
2.2获取下标的方式不同,hashTable获取下标的方式是取余;
2.3前者不是线程安全的,后者是线程安全的;
2.4前者是实现了Map的接口,后者由于历史原因是继承了Dictionary类;
2.5前者没有contains方法,后者是containsKey方法;
3.ArrayList和Vetor的区别:
3.1前者不是线程安全的,后者使用了synchronized关键字修饰,是线程安全的;
3.2扩容的方式不同,前者是1.5倍,后者是可以自定义扩容的长度(或者是增加原先的长度);
4.hashTable和vector基本不再维护了;