List、Set和Queue都是Collection接口的子接口,因此从更高层次来说它们属于统一类型的集合。Map接口也代表一种集合,但它不是Collection子接口,因此它属于另一种类型的集合。Map用于保存具有映射关系的数据。映射关系的数据分为两部分,就好比电话本一样,如图13-20所示。
图13-20电话本
从图13-20可以看出:电话本左边记录着人的姓名,右边对应的记录着电话号码。人们在电话本中查询时,总是通过人的姓名找到他的电话号码。按照专业上的说法,电话本中人的姓名被称为键,英文翻译为key,电话号码被被称为值,英文翻译为value,人们总是通过key找到value。key和 value都可以是任何引用类型的数据。Map中的key不允许重复,也就是说同一个Map对象中的任何两个key通过equals()方法比较总是返回false。key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的value。程序员在访问Map集合时,总是通过指定key来获取相应的value。需要注意:原则上在Map集合中key-value的存储顺序与其进入集合的顺序并不相同,这个特点跟Set集合是一样的。正因为Ma