是否有数据类型或类允许我完成此操作或产生类似效果的有效方法。
1)使用关联的浮动键将数据添加到数组中(将有一些 重复的浮动键)
2)根据浮动键将数组从最小到最大排序或者抓取 最低浮点键并返回这些对象。
我需要相对有效率,因为我会每秒重复这么多次。
答案 0 :(得分:1)
您需要的是Multimap,因为会有重复的键。虽然C ++提供了多图界面,但是Java SE没有内置的。但你可以使用Google Guava库中的TreeMultimap(它曾经在Google Collections下可用,但正如Louis Wassernman在评论中指出的那样,它已经死了很长一段时间,你应该避免使用它)。该课程的文档位于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。