我正在研究Java类和接口的设计,刚刚看到了
为什么
请参考
java/util/Map.java
文件,对于其中的问题我有些疑惑。请您帮助回答以下问题:为什么
Map
接口有内部接口Entry
?请参考
java/util/Map.java
源代码并进行回答。java/util/Map.java
文件,对于其中的问题我有些疑惑。请您帮助回答以下问题:Map
接口有内部接口Entry
?java/util/Map.java
源代码并进行回答。Map<K,V>
可以视为一种关联存储(即一种将键与其值相连的容器)。它也可以被视为一组成对的集合,其中第一个元素是键,第二个元素是相应的值。
Map<K,V>
中大部分的方法支持地图的关联容器视图。Map.Entry<K,V>
接口用于支持地图的另一种视图 - 作为键值对的集合。
每个映射都提供了访问所谓的 entry set 的方法,它是地图中的一组成对。每个对由 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>
外部。然而,由于该接口与 Map 非常密切相关,决定将接口嵌套在 map 内部是非常合理的。