【发布时间】:2013-02-02 05:39:46
【问题描述】:
这有点愚蠢,但我该如何安装MultiMap?
我需要一种将多个值存储到键的方法,但我的地图实现不起作用
【问题讨论】:
这有点愚蠢,但我该如何安装MultiMap?
我需要一种将多个值存储到键的方法,但我的地图实现不起作用
【问题讨论】:
multimap 类似于 Map,但它可以将每个键映射到多个值。如果您自己的不起作用,您可以将apache commons collections 添加到您的类路径中。下载 jar 并将其包含在您的类路径中。
但您也可以将自己的多图实现为:HashMap<SomeObject, List<YourObject>>()
在multimaps下查看示例
【讨论】:
该类MultiMap 不是Java 标准库的一部分。它是Apache Commons 的一部分,这是一组许多Java 开发人员认为有用的独立实用程序类。在 Google 的实用程序库 Guava 中提供了替代的 Multimap 实现(我会推荐)。
在任何一种情况下,为了使用这些类,您都需要下载项目分发的 jar,并在运行程序时将其添加到类路径中。您可以在命令行中执行此操作:Including jars in classpath on commandline (javac or apt) 或在 Eclipse 中:Adding a JAR to an Eclipse Java library
如果您在 Google 上搜索“安装 jars”和“将 jars 添加到 eclipse”之类的短语,您会发现很多资源可以帮助您,如果您仍在苦苦挣扎。
【讨论】:
这不是 MultiMap 类,但我通过使用集合作为值来解决这个问题:
HashMap<String, ArrayList<Integer>> metrics = new HashMap<String, ArrayList<Integer>>();
【讨论】:
multimap 实用程序的 Maven 依赖项
<dependency>
<groupId>org.solovyev</groupId>
<artifactId>common-collections-multimap</artifactId>
<version>1.0.3</version>
</dependency>
【讨论】: