如何在Collection , Map 之间进行选择

若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。

1、Collection 和 Map 的区别

容器内每个为之所存储的元素个数不同。

Collection类型者,每个位置只有一个元素。

Map类型者,持有 key-value pair,像个小型数据库。

2、各自旗下的子类关系

Collection --List: 将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。

–ArrayList / LinkedList / Vector --Set : 不能含有重复的元素

–HashSet / TreeSet

Map
–HashMap
–HashTable
–TreeMap

3、其他特征

  • List,Set,Map将持有对象一律视为Object型别。

  • Collection、List、Set、Map都是接口,不能实例化。

继承自它们的 ArrayList, Vector, HashTable, HashMap是具象class,这些才可被实例化。

  • vector容器确切知道它所持有的对象隶属什么型别。vector不进行边界检查。