【答案解析】 对于选项A,List中保存了相同类型的多个元素,元素是按照存入的顺序存储的,元素可以重复。所以,选项A错误。
对于选项B,Map是以键一值对的方式来存储对象的,并且键不允许重复。所以,选项B正确。
对于选项C,java.util.Collection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法。而Set与List是它的两个具体的接口,由于Set与List都不是以键一值对的方式来存储对象的,因此,Collection接口也不是。所以,选项C错误。
对于选项D,Set中也保存了相同类型的多个元素,元素是不能重复的。所以,选项D错误。
下表是各接口的区别。
| 各接口的区别
|
| 类 型
|
是否有序
|
是否允许重复
|
是否线程同步
|
| Collection
|
否
|
是
|
|
| List
|
ArrayList
|
否
|
是
|
否
|
| Vector
|
是
|
| LinkedList
|
否
|
| Set
|
HashSet
|
否
|
否
|
否
|
| TreeSet
|
是
|
否
|
| Map
|
HashMap
|
否
|
<key,value>, key不允许重复
|
否
|
| TreeMaD
|
是
|
否
|
| Hashtable
|
否
|
是
|
所以,本题的答案为B。