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