Есть ли IndexSet и класс Range для Java? - PullRequest
6 голосов
/ 10 января 2011

В Objective-C Cocoa у нас есть класс NSIndexSet, который эффективно хранит ряд уникальных индексов, сохраняя массив диапазонов.Например, набор 1, 2, ... 30, 57 будет храниться как диапазоны 1-30 и 57, а не как массив из 32 чисел.Это упрощает и ускоряет сохранение огромных выборок.Например, если в таблице выбраны все строки от 1 до миллиона, набор индексов сворачивается до крошечного диапазона и быстро сравнивается и пересекается с ним.

К сожалению, это оказывается довольно сложным для Googleза.Есть ли эквивалентный класс для Java?

Ответы [ 3 ]

3 голосов
/ 10 января 2011

Есть Apache Commons IntRange

0 голосов
/ 09 июля 2013

Конечно, не в последнюю очередь, в библиотеке Guava есть класс Range . Эта статья хорошо иллюстрирует, как вы можете ее использовать.

...