Использование BitSet с 4 миллиардами возможных значений занимает 512 МБ. Просто установите все значения int
, которые вы видите, и запишите их по порядку (они естественно отсортированы)
Это работает, только если вас не интересуют дубликаты.
Если подсчет дубликатов имеет значение, я бы по-прежнему рассмотрел либо файл с отображением в памяти для подсчета, либо использование сортировки с сортировкой подразделов данных. (Я полагаю, что позже ожидается ответ)
Недавно я купил компьютер на 24 ГБ менее чем за 1 000 фунтов стерлингов, так что несколько ГБ не так много, если вы не ограничены размещенным решением. (Или с помощью мобильного устройства)