我正在研究 java 类和接口(interface)是如何设计的,刚刚看到 java/util/Map.java
并且我有以下疑问?
请帮助我回答。
接口(interface) Map
有内部接口(interface) Entry
的原因是什么?
请查看java/util/Map.java的源代码并回答。
最佳答案
Map<K,V>
可以被视为关联存储(即,将键连接到它们的值的容器)。它也可以看作是一个对的集合,其中第一个元素是键,第二个元素是它对应的值。
Map<K,V>
中的大多数方法支持 map 的关联容器 View 。 Map.Entry<K,V>
界面用于支持 map 的其他 View - 即作为键值对的集合。
每个 map 都提供对所谓的条目集的访问,这是 map 中的一组对。每对由 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>
外部接口(interface)Map<K,V>
.然而,由于界面与 map 密切相关,因此将界面嵌套在 map 中的决定非常有意义。
关于java - 接口(interface) Map 背后有内部接口(interface) Entry 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115377/