1、Vector与ArrayList的区别
1)Vector类是线程安全的,它的add,get方法是线程同步方法
ArrayList类是线程非安全的,它的add,get方法是普通的方法,当多个线程调用时,可能会出现线程安全问题
2)Vector、ArrayList一样,都是通过数组实现增删改查,查询速度快,其他操作速度慢
2、HashTable与HashMap的区别?
1)HashTable与HashMap都是通过“链表+数组” 实现增删改(链表)查(数组)
2)HashTable是线程安全的,它的put,get方法是同步方法
HashMap是线程非安全的,它的put,get方法不是同步的
注:Collections类有一个将不安全的map集合转成安全集合的方法,Collections.synchronizedMap(map);
3、ConcurrentHashMap是一种并发包,将一个整体分成多个晓得HashTable,默认分成16段(分段锁计算)。