是否有一种数据类型或类可以让我完成这个任务,或者怎样才能有效地产生类似的效果。
1)用关联的浮动键向数组中添加项(将有几个重复的浮动键) 2)根据浮动键将数组从最少到最大排序,或者获取最低的浮点键并返回这些对象。
我需要这是相对有效的,因为我将重复这样多次每秒。
发布于 2015-04-06 13:55:57
你需要的是你的目的是一个多倍,因为会有重复的钥匙。虽然C++提供了multimap接口,但Java没有内置的接口。但是您可以使用Google库中的TreeMultimap (它以前可以在Google下使用,但是正如Louis在评论中指出的那样,它已经死了很长时间了,您应该避免使用它)。该类的文档位于http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/TreeMultimap.html。
请记住,TreeMultimap根据所提供的比较器对键和值进行排序(如果没有提供比较器,则按自然顺序排序)。自然排序是将地图从最小到最大的条目排序。如果您不希望您的值也排序,您将希望使用提供的比较器。
下面是对TreeMultimap本身进行一些单元测试的代码。您可以很容易地将此作为您想要的http://google-collections.googlecode.com/svn-history/r76/trunk/test/com/google/common/collect/TreeMultimapNaturalTest.java的示例。
https://stackoverflow.com/questions/29480161
复制