3

我有一个带有过滤行 ID 的整数集合,我试图在其中搜索序列/范围以优化 MySQL 选择查询。给你举个例子:

Integer-Collection 可以非常分散:

[1,2,88,101,200] = Sequence(1-2,88,101,200)

或者非常完全:

[1,2,3,4,..,198,199,200] = Sequence(1-200)

是否有任何 Java 算法可以在集合中查找序列或总体上改进我的阅读模式?

4

1 回答 1

1

你的收藏品有多长?除非您有数百万个项目,否则将集合完全加载到内存中、对其进行排序然后扫描范围可能是最快的。

在排序列表中,查找范围是微不足道的。只需依次扫描即可;如果下一个元素不是前一个元素 + 1,则一个范围刚刚结束,另一个范围开始。

于 2013-03-12T13:21:07.577 回答