首页 > 解决方案 > 比较作为映射的键和值的集合的大小

问题描述

考虑一个映射 m,其中 m 是 HashMap 或 TreeMap 类型。假设 s1 和 s2 都是 HashSet 或 TreeSet 类型的集合,其中 s1 是 m 中的键集合,s2 是 m 中对应值的集合。哪个一定是真的?

一个。s1.size() > s2.size()

湾。s1.size() <= s2.size()

C。s1.size() >= s2.size()这是正确答案。

d。s1.size() == s2.size()

e. s1.size() < s2.size()

我原以为它会是“b”,因为一个键可以有很多值,但事实证明答案是 c,其中键可能比值多。但是,我在理解提供的答案 (c) 时遇到问题——谁能帮我理解为什么 b 是错误的而 c 是正确的?

标签: javadictionaryhashsetkey

解决方案


你倒过来了:一个键最多有一个 type 的值V。(这V可能是一个像集合或列表这样的容器,但它是映射中的单个值。)多个键可以具有相同的值(实际上这就是HashSet它自身的实现方式,在 a 之上HashMap)。


推荐阅读