当前位置: 首页 > 面试题库 >

Java具有重复键的地图实现

司徒元明
2023-03-14
问题内容

我想要一张包含重复键的地图。

我知道有很多地图实现(Eclipse向我展示了大约50个),所以我敢肯定一定有一个允许这样做的地图实现。我知道编写自己的地图很容易做到这一点,但是我宁愿使用一些现有的解决方案。

也许在Commons Collections或Google Collections中?


问题答案:

你正在搜索多图,而commons-collection和Guava确实都有几种实现方法。多图通过维护每个键的值的集合来允许多个键,即,你可以将单个对象放入地图中,但可以检索一个集合。

如果你可以使用Java 5,则我希望使用Guava,Multimap因为它具有泛型感知能力。



 类似资料:
  • 问题内容: 我需要一个数据结构,其行为类似于Map,但是使用多个(不同类型的)键来访问其值。 (让我们不太笼统,假设有两个键) 键保证是唯一的。 就像是: 使用以下方法: 你有什么建议吗? 我唯一能想到的是: 编写一个内部使用两个Maps的类。 编辑 有人建议我使用元组,一对或类似键作为Java Map的键,但是这对我来说不起作用: 如上所述,我必须只能通过两个键之一来搜索值指定。 映射使用键的哈

  • 问题内容: 我正在创建一个需要存储键值对的程序。该程序需要接受键形式的请求,并返回相应的值。 问题在于每个键有时有多个值,并且map类不允许重复的键。 这些值是数字,因此无法像使用字符串那样有意义地连接这些值。 对于每个键可以有多个数值的事实,是否有任何优雅的解释方法?我希望返回每个数字,而不是随机返回一个数字。 问题答案: $ cat YourMap.java public class Your

  • 我有一个实体,它的复合主键由两个字段组成,其中一个也是复合外键的一部分。 背景:我有实体<代码>人员 、<代码>区域 和<代码>会话 。 与具有多对多关系,使用称为“和实体。 所以,我有,主键为(,)。本身是的外键。 也有一个字段。我希望(,)是的复合外键。 我的PersonSession代码: } 这看起来不错,它在数据库中创建了所有正确的关系。当我尝试插入个性化会话对象时,问题就出现了——ar

  • 问题内容: 我有一些键指向相同值的哈希图。我想找到所有相等的值并打印相应的键。 这是我目前的代码: 当前代码将重复项两次添加到列表中,但是也会将每个键一次添加一次。 谢谢。 问题答案: 您可以使用流以这种方式检索重复项: 然后,您可以使用以下命令将其打印出来:

  • 我有两张阵列图。 有没有办法用流来完成这个任务? 或者我必须通过映射迭代?

  • 我可以有一个哈希图在Java看起来像这样吗? 我的问题和这里的类似问题 我是Java新手。所以我想知道的是,如果我需要上面这样的东西,如果它无效,什么是最好的数据结构?