【问题标题】:How can I create a Multimap in Java on Android如何在 Android 上的 Java 中创建 Multimap
【发布时间】:2010-11-05 19:01:49
【问题描述】:

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

【问题讨论】:

    标签: java android multimap


    【解决方案1】:

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

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

    它可能会变得一团糟,但这应该会给你你想要的东西。

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

    【讨论】:

    • 我在看 Guava,但它的多地图实现看起来需要一些其他类,而这又需要其他类......我不想安装并包含一堆新东西,我只需要一个简单的多映射,它的行为就像在 C++ 中一样,以简化移植。不过感谢您的建议,如果我找不到足够干净的东西,我可以按照您的建议实施地图/列表,但是我必须对该结构进行一些管理...
    • 地图中的列表是满足我需求的最佳解决方案。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-08-12
        • 1970-01-01
        • 2014-05-25
        • 2011-03-06
        • 2019-06-11
        • 2015-03-01
        • 2013-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多