1. ArrayList和Vector的区别
共同点:
这两个类都实现了List接口,它们都是有序的集合(存储有序),底层是数组。我们可以按位置索引号取出某个元素,允许元素重复和为null
区别:
• 同步性: ArrayList是非同步的 Vector是同步的 即便需要同步的时候,我们可以使用Collections工具类来构建出同步的ArrayList而不用Vector
• 扩容大小: Vector增长原来的一倍,ArrayList增长原来的0.5倍
2. HashMap和Hashtable的区别
共同点:
从存储结构和实现来讲基本上都是相同的,都是实现Map接口~
区别:
• 同步性:
HashMap是非同步的
Hashtable是同步的,需要同步的时候,我们往往不使用Hashtable,而使用ConcurrentHashMap
• 是否允许为null:
HashMap允许为null
Hashtable不允许为null
• contains方法
Hashtable有contains方法
HashMap把Hashtable的contains方法去掉了,改成了containsValue和containsKey
继承不同:
HashMap
extends AbstractMap
public class Hashtable
extends Dictionary