Как положить в лист миллиард объектов?
Просто вам нужно минимум 64 гигабайта свободной оперативной памяти (если я все правильно посчитал), а по факту раза в четыре больше, так как храним не примитивы, а объекты. Посему, если владеете такой памятью, то ключи для java -Xms128G -Xmx128G
Выше правильные ответы. Но зачем вам такой список?  Обычно его бьют на подмножества и работают уже с ними. Попробуйте изменить алгоритм так