java基础之三Collection和Map的区别
Collection和Map接口之间的主要区别在于:Collection中存储了一组对象,而Map存储关键字/值对。Collection接口,包含list和set子接口;继承Map的类有HashMap,HashTable。下面来给大家详细做一分析:
Collection:
1、Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。
一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。
Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
2、所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数和有一个Collection参数的构造函数。其中无参数的构造函数用于创建一个空的Collection;有一个Collection参数的构造函数用于创建一个新的Collection。
Map:
1、Map对象中,每一个关键字最多有一个关联的值。
2、不能包括两个相同的键,一个键最多能绑定一个值。null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。
3、当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。
因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。
4、Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。