接口Map背后有什么原因有内部接口入口?

时间:2015-05-08 03:41:05

标签: java

我正在研究如何设计java类和接口,只看到java/util/Map.java而我对此有疑问? 请通过回答帮助我。

界面Map具有内部接口Entry背后的原因是什么? 请参阅java / util / Map.java的源代码并回答。

1 个答案:

答案 0 :(得分:2)

Map<K,V>可以被视为关联存储(即将键连接到其值的容器)。它也可以看作是对的集合,其中第一个元素是键,第二个元素是它的对应值。

Map<K,V>中的大多数方法都支持地图的关联容器视图。 Map.Entry<K,V>接口用于支持地图的其他视图 - 即作为键值对的集合。

每张地图都提供对所谓条目集的访问权限,条目集是地图中的一组对。每对由Map.Entry<K,V>实例表示。

Map<Integer,String> myMap = ...
for (Map.Entry<Integer,String> e : myMap.entrySet()) {
    System.out.println(e.getKey()+" ---> "+e.getValue());
}

可以在MapEntry<K,V>之外定义Map<K,V>接口。但是,由于界面与地图密切相关,因此将界面嵌套在地图内的决定非常有意义。