1.HashTable和HashMap的区别:
(1).都实现了Map接口,HashTable是Dictionary的子类,HashMap是AbstractMap的子类;
(2).HashTable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用HashTable了;而对于HashMap,则需要额外的同步机制。
(3).在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,既可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。
(4).Map.put()方法会覆盖上一次同键的值。
2. new ArrayList<Group>(1); Constructs a new instance of ArrayList
with the specified initial capacity.
capacity默认为12。
3.
java中各种集合的用法和比较
Collection 是对象集合, 有两个子接口 List 和 Set,List 可以通过下标取值,值可以重复,而 Set 只能通过游标来取值,并且值不能重复。
ArrayList , Vector , LinkedList 是 List 的实现类,ArrayList 是线程不安全的, Vector 是线程安全的,这两个类底层都是由数组实现的 。
LinkedList 是线程不安全的,底层是由链表实现的 。
Map 是键值对集合
HashTable 和 HashMap 是 Map 的实现类 。
HashTable 是线程安全的,不能存储 null 值 。
HashMap 不是线程安全的,可以存储 null 值 。
http://blog.csdn.net/jackie03/article/details/7312481