gpt4 book ai didi

java - 为什么 map.keyset() 返回 Collection View 而 map.values() 返回 Java 中的集合?

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:42 25 4
gpt4 key购买 nike

这个问题更多的是关于Java开发者的设计实现。我想知道(如果有任何我想不到的重要原因)为什么 Keyset() 返回一个 set-view 但 values() 返回 Collection-view 。为什么不使用 set-viewValues() 作为 ValueSet 返回。如果需要,我可以转换为设置,但为什么要这样选择它。

也许这有助于决定在构建自定义数据结构时使用哪些数据结构。

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();

最佳答案

根据定义,Map 的键构成一个Set,即唯一键的集合。但是,Map 的值可以重复。因此,Map 中的不同键可以具有相同的值。

关于java - 为什么 map.keyset() 返回 Collection View 而 map.values() 返回 Java 中的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com