collection和map是Java中常用的数据结构,它们的主要区别在于存储方式和访问方式。 存储方式: Collection:Collection是一组对象的集合,可以包含重复的元素。Collection接口的子接口有List和Set,分别以线性表和集合的形式存储元素。 Map:Map是一种键值对的映射表,每个键对应一个唯一的值。Map中的键和值都可以是任意对象,...
区别在于: Collection是一组对象的集合,而Map是键值对的集合。 Collection中的元素是单个对象,而Map中的元素是键值对,一个键对应一个值。 Collection中的元素是无序的,可以重复的;而Map中的键是唯一的,值可以重复。 Collection接口派生出List、Set和Queue等子接口,而Map接口没有子接口。 Collection接口是Java...
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java JDK不能提供直接继承自Collection的类,Java JDK提供的类都是继承自Collection的"子接口",如:List和Set。 注意:Map没有继承Collection接口,Map提供key到value的映射。
2.继承的父类不同 HashMap继承自AbstractMap;Hashtable继承自Dictionary 3.key、value是否允许null HashMap的key和value都是可以是null,key只允许一个null; Hashtable的key和value都不可为null。 4.初始容量大小和每次扩充容量大小的不同 Hashtable会尽量使用素数、奇数。而HashMap则总是使用2的幂作为哈希表的大小 ...
迭代器不同。HashMap的Iterator是fail-fast迭代器;Hashtable还使用了enumerator迭代器。 hash的计算方式不同。HashMap计算了hash值;Hashtable使用了key的hashCode方法。 默认初始大小和扩容方式不同。HashMap默认初始大小16,容量必须是2的整数次幂,扩容时将容量变为原来的2倍;Hashtable默认初始大小11,扩容时将容量变为...