存储和检索重复键值对的最佳集合是什么?

发布于 2024-12-01 11:49:36 字数 143 浏览 2 评论 0 原文

我应该使用哪种数据结构来存储和检索以下数据? (key1,val1)(key1,val2)(key1,val3)(key2,val4)(key2,val5)(key2,val6)(key3,val7)(key3,val8)(key3,val9)

请帮助我。

Which data structure should i use to store and retrieve the following data?
(key1,val1)(key1,val2)(key1,val3)(key2,val4)(key2,val5)(key2,val6)(key3,val7)(key3,val8)(key3,val9)

Please help me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

饭团 2024-12-08 11:49:36

看看 Google Guava 的 Multimap 及其子类型 ListMultimap设置多图

来自 Multimap 的 javadoc:类似于 Map 的集合,但可以将多个值与一个关联
单键。

Take a look at Google Guava's Multimap and its subtypes ListMultimap and SetMultimap.

From Multimap's javadoc: A collection similar to a Map, but which may associate multiple values with a
single key.

君勿笑 2024-12-08 11:49:36

Map> 是最好的方法

Map<Key, Collection<Value>> is the best approach

计㈡愣 2024-12-08 11:49:36

我不知道它是否适合您,但如果值是唯一的并使用标准 Map,您可以考虑反转键/值

I don't know if it would work for you, but you may consider reversing key/value if values are unique and use a standard Map<ValueType, KeyType>

春风十里 2024-12-08 11:49:36

您可以拥有一个 Map,其中值是诸如列表/集合之类的集合,具体取决于您的对是否不同。

如果你有不同的对,你可以选择类似 Set 接口的东西:

   Map<key, Set<value>>

   Ex Map<key, HashSet<Value>>

如果你没有不同的对((key1, val1), (key1, val1)),你可以选择 List 接口:

Map<key, List<value>>    
Map<key, ArrayList <Value>>

You can have a Map where values are collections like List/Set Depending on whether your pairs are distinct or not.

If you have distinct pairs you can go for something like Set interface:

   Map<key, Set<value>>

   Ex Map<key, HashSet<Value>>

If you do not have have distinct pairs((key1, val1), (key1, val1)) you can go for List interface:

Map<key, List<value>>    
Map<key, ArrayList <Value>>
私野 2024-12-08 11:49:36

我们可以使用来自Commons集合MultiValueMap

参考:
http://commons.apache.org/proper/commons-collections/

示例:

    MultiValueMap map = new MultiValueMap();
    map.put("SAN", 4);
    map.put("SAN", 6);
    map.put("TOM", 7);

We can use MultiValueMap From Commons collections.

Reference :
http://commons.apache.org/proper/commons-collections/

Sample :

    MultiValueMap map = new MultiValueMap();
    map.put("SAN", 4);
    map.put("SAN", 6);
    map.put("TOM", 7);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文