我有配置的com.googlecode.cqengine.IndexedCollection对象NavigableIndex。我通常需要从索引或索引的迭代器中获取第一个或最后一个项目。
我想这应该是微不足道的。我知道我可以使用 queryOptions 对象创建 Query 对象,使用它从 IndexedCollection 检索迭代器并获取第一个对象,但我不确定它是否是最佳性能。肯定不优雅。
在 miradham 的帮助下,我发现我需要记住索引,因为如果我们有更多索引,就很难找到正确的索引。它只适用于NavigableIndex,我们不能迭代基类Index
collection = new ConcurrentIndexedCollection<Data>();
index = NavigableIndex.onAttribute(Data.UNIQUE_TIMESTAMP);
collection.addIndex(index);
Run Code Online (Sandbox Code Playgroud)
当我有索引时:
try (CloseableIterator<KeyValue<String, Data>> iterator = indexUniqueTimestamp.getKeysAndValuesDescending(null).iterator()) {
if (iterator.hasNext())
return iterator.next().getValue();
}
return null;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |