该Map定义的是一个存储键到值映射的对象集合。键不能重复,且每一个键只能映射最多一个值。
该接口已经完全替代了抽象类Dictionary
Map接口提供了3个集合视图,分别是容纳所有key的Set,容纳所有value的Colleciton,以及容纳所有key-value映射的Set。
Map的顺序被定义为在Map集合视图上的迭代器返回它们的元素的顺序。一些特别的map,如TreeMap会保证自己的顺序。
如果对象的值以影响相等比较(equals或compareTo等)的方式更改,而对象是映射中的键,则不会匹配到映射的行为。
所有通用的map实现必须体用两个构造方法:1、无参的构造方法 2、只有一个Map类型参数的构造方法,用于创建一个与传入map有相同键值对的map。事实上,后一个构造器可以用于复制Map。
本接口中的有些方法,可能子类并不会实现,当没有实现特定方法的子类调用该方法,应该抛出UnsupportedOperationException异常。
不同的实现对键和值有不同的要求。如,有的实现允许null作为键和值,有的不允许。
如果一个map直接或间接持有自己的引用,那么那些使用递归遍历的方法可能会抛出异常