这个问题更多的是关于 Java 开发人员的设计实现。我想知道(如果有任何我想不出的重要原因)为什么Keyset()
返回 set-view 但values()
返回Collection-view
. 为什么不Values()
以ValueSet
with的形式返回set-view
。如果需要,我可以强制设置,但为什么选择它的方式。
也许这有助于决定在构建我们的自定义数据结构时使用哪些数据结构。
Map<String, Integer> map = new HashMap<String,Integer>();
map.put("hello",1);
map.put("world",2);
Collection <Integer> i = map.values();
Set<String> s = map.keySet();