java集合:Map

继承关系

java 一个key 对应双 value java一个键对应多个值_映射关系

Map
  • Map 是映射接口,Map中存储的内容是键值对(key-value),Map映射中不能包含重复的键;每个键最多只能映射到一个值
  • Map 的实现类应该提供2个“标准的”构造方法:第一个,void(无参数)构造方法,用于创建空映射第二个,带有单个 Map 类型参数的构造方法,用于创建一个与其参数具有相同键-值映射关系的新映射。
  • Map提供接口分别用于返回 键集、值集或键-值映射关系集。
  • entrySet()用于返回键-值集Set集合
  • keySet()用于返回键集Set集合
  • values()用户返回值集Collection集合
  • 因为Map中不能包含重复的键;每个键最多只能映射到一个值。所以,键-值集、键集都是Set,值集时Collection
Entry
  • Map.Entry是Map中内部的一个接口,Map.Entry是键值对,Map通过 entrySet() 获取Map.Entry的键值对集合,从而通过该集合实现对键值对的操作。
AbstractMap
  • AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API
  • 要实现不可修改的映射,只需扩展此类并提供 entrySet 方法的实现即可,该方法将返回映射的映射关系 set 视图。通常,返回的 set 将依次在 AbstractSet 上实现。此 set 不支持 add() 或 remove() 方法,其迭代器也不支持 remove() 方法。
  • 要实现可修改的映射,必须另外重写此类的 put 方法(否则将抛出 UnsupportedOperationException),entrySet().iterator() 返回的迭代器也必须另外实现其 remove 方法。
SortedMap
  • SortedMap 是继承于Map的接口。SortedMap中的内容是排序的键值对,排序的方法是通过比较器(Comparator)
  • SortedMap的排序方式有两种:自然排序 或者 用户指定比较器。 插入有序 SortedMap 的所有元素都必须实现 Comparable 接口(或者被指定的比较器所接受)。
NavigableMap
  • NavigableMap 是继承于SortedMap的接口。相比于SortedMap,NavigableMap有一系列的导航方法;如"获取大于/等于某对象的键值对"、“获取小于/等于某对象的键值对”等等。
Dictionary
  • NavigableMap是JDK 1.0定义的键值对的接口,它也包括了操作键值对的基本函数。