java - 访问集合中键在特定范围内的项目

标签 java collections

我想将一些数据存储在一个集合中用于动画目的,我的想法是将动画数据存储在关键帧中。要确定您在动画中的位置,您需要知道在任何特定时间什么项目是相关的。所以我的问题是,是否有一个集合 API 可以支持基于传递的键在特定范围内检索对象。

例子如下

如果我有一些数据代表下面的“时间”

0.0
1.0
2.5
2.7
3.0

我希望能够存储数据,如果我传入一个键值,我将取回最低匹配值。下面是一些示例键值

0.7 将检索 0.0 对象
2.49 将检索 1.0 对象
2.7 将检索 2.7 对象
10.0 将检索 3.0 对象

我完全知道我可以自己编写一些代码,但我想检查是否已经存在执行此操作的 API。

最佳答案

您需要一个 NavigableSet(由 TreeSet 实现)(或一个 NavigableMap,由 TreeMap 实现)。它具有诸如 floor(E e) 之类的方法:

Returns the greatest element in this set less than or equal to the given element, or null if there is no such element.

关于java - 访问集合中键在特定范围内的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32678252/

相关文章:

java - Jersey/JAX-RS 2 AsyncResponse - 如何跟踪当前的长轮询调用者

java - Qt:委托(delegate)给单个编辑器

collections - 如何从常规集合的 collect() 方法中调用具有多个参数的闭包?

java - 使用比较器获取集合的子集

java - 声明 ArrayList 或集合实现类的最佳实践

c# - 声明一个类引用列表

java - 如何在启动 Intent 后保持 TextView 和 Button 不可见

java - maven本地缓存错误

c# - C# 中带有 char 键的不区分大小写的字典

java - 如何将 null 值传递给文档文字 SOAP 请求