Ввод с клавиатуры с помощью Stream в массив, Java
Подскажите, возможен ли ввод с клавиатуры в массив с помощью потоков Stream или класса Arrays? Желательно одной строчкой
Ответы (1 шт):
Автор решения: Andrew Bystrov
→ Ссылка
в java 11 можно сделать примерно так
Scanner scanner = new Scanner(System.in);
List<Long> list = Stream.generate(scanner::nextLine) // Генерируем стрим, в котором значение будут те, что ввели в консоль.
.takeWhile(s -> !s.equals("exit")) // Останавливаемся тогда, когда ввели `exit`
.map(Long::valueOf) // Превращаем в Long ( ну или как вам надо там)
.collect(Collectors.toList()); // Собираем в лист
System.out.println(list);
Если хотите собирать определенно число значений из терминала, то вместо takeWhile можно использовать limit(X), где X - количество элементов