6

我在哪里可以找到可以在 Android 上运行而无需包含任何其他类等的 Java 多映射实现。我发​​现的实现都需要其他需要其他东西的东西,而且很快就会变得混乱。我正在从 C++ 移植一个项目,并且是 java 新手(以及这个项目,所以我试图在让它工作的同时尽可能保持相同),所以任何参考或示例都会很棒。

4

3 回答 3

16

您可以使用 Map 和 List 来创建多图。假设您想将整数与类类型 T 的列表相关联。使用以下代码:

Map<Integer, List<T>> myMultiMap = new HashMap<Integer, List<T>>();

它可能会变得混乱,但是,这应该给你你正在寻找的东西。

另一种选择是使用Guava库的Multimap实现。

于 2010-11-05T19:19:46.823 回答
5

看起来您正在寻找Apache Commons Collection库。那里有一个MultiMap类。我自己还没有测试过,所以我不能保证它会起作用,但它看起来很适合你的项目。

您不会在 Java 中找到 MultiMap 函数,因此其他人已经编写了包含它的库。但是,如果您的知识水平足够高,您可以尝试自己实现它,但这需要一些 Java 经验。因此,最好的办法是尝试学习如何使用并在必要时调整库以在 Android 上使用它们。

于 2010-11-05T19:09:55.170 回答
2

如果您关心代码大小,我们只是在实用程序库中添加了多图:http: //greenrobot.org/2015/12/11/multimaps-in-greenrobot-common-2-2/

jar 远低于 100k,如果您考虑 Android 的 65K 方法限制,这很好。

于 2015-12-11T08:41:48.147 回答