有没有一个处理重复元素的排序Java集合?

6

我需要一个类似于C++ multimap的集合,但我还需要能够通过一系列关键字获取元素。

3个回答

7

2
特别是,Google Collections TreeMultimap类包括一个asMap()方法,返回一个SortedMap。然后您可以调用类似SortedMap.subMap()的方法来检索一系列键的映射。 - Jared Levy

4

Java中没有内置的multimap集合。为了解决这个问题,您可以将每个键映射到一个值列表:Map<String, List<String>>,例如。否则,还有第三方库实现的multimaps - 这里有其中之一。


1
有一个简单的方法可以在Java中创建可排序的多映射集合...使用数据集TreeMap,对于键输入key*10^4+counter。这样你就可以将重复的键值存储在地图中(通过添加计数器它们实际上不是重复的,所以你可以将它们存储在treeMap中,但你知道不要使用整数键值的最后四位数字),但是你的数据集正在使用原始的键值进行排序。请注意,根据你的数据集大小,你可能需要调整10^n以确保它大于数据条目数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接