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