Как через Stream создать и заполнить список?

Есть 0 List. Можно ли с помощью Stream добавить в List рандомные(допустим Math.random()) элементы и вернуть его же но уже заполненный ?


Ответы (1 шт):

Автор решения: Andrew Bystrov
Random random = new Random(); // 1
List<Integer> integers = random.ints() // 2
        .limit(10)  // 3
        .mapToObj(Integer::valueOf) // 4
        .collect(Collectors.toList()); // 5
  1. создаем объект типа Random
  2. у него вызываем стрим int'ов (так же есть longs() и doubles() )
  3. Ограничиваем стрим 10 элементами (потому что стрим ints() effectively unlimited)
  4. Создаем объект типа Integer (т.е. делаем box'инг)
  5. Собираем все это дело в лист
→ Ссылка