Генерация N одинаковых элементов через Stream API

Вернуться назад

04.01.2018

Предположим, вы хотите сгенерировать N одинаковых элементов. Это очень легко сделать в Java при помощи Stream API. Рассмотрим следующий метод:

private List<String> repeatedValueGenerator(String text, int count) {
    return Stream.generate(() -> text)
            .limit(count)
            .collect(Collectors.toList());
}

Сначала стрим при помощи метода generate() создаёт бесконечный стрим (Stream), а потом мы его ограничиваем при помощи метода limit().

Например, для того, чтобы вывести на экран список из трех одинаковых строк с текстом «test», нужно вызвать его следующим образом:

System.out.println(repeatedValueGenerator("test"3));

В результате получим:

[test, test, test]

Тэги: Java 8, Collections, Stream API.