Считать строку, используя стримы

199
28 апреля 2018, 19:30

Есть такой файл с такими строками:

картошка капуста

молоко хлеб

хлеб лук

Хочу получить List<List<>> , то есть в листе должно быть слова строки.

Пытался сделать так:

 Files.lines(Paths.get(ReadFile.class.getResource(path).toURI()), StandardCharsets.UTF_8)
                .flatMap(s->Arrays.stream(s.split(" ")))
                .filter(s->!s.isEmpty())
                .collect(Collectors.toList());

Но так записывается все слова файла. Требуется на стримах это реализовать.

Answer 1
List<List<String>> list = Files.lines(Paths.get(ReadFile.class.getResource(path).toURI()), StandardCharsets.UTF_8)
            .map(s -> Arrays.asList(s.split(" ")))
            .collect(Collectors.toList());
System.out.println(list);

Вывод:

[[картошка, капуста], [молоко, хлеб], [хлеб, лук]]

READ ALSO
Отсутствует SDK для java и ошибка &ldquo;the select directory is not a valid home for JDK&rdquo;

Отсутствует SDK для java и ошибка “the select directory is not a valid home for JDK”

Установил intellij idea 20172, но при создании проекта в поле "Project SDK" значится надпись "No SDK"

204
Как сортировать полученные из postgesql данные

Как сортировать полученные из postgesql данные

Есть база данных postgresql, есть java класс который показывает все данные, как сортировать как чтобы, раньше показанные данные повторно не показывались,...

182
Разница между приложением и апплетом?

Разница между приложением и апплетом?

В книге SwingРуководство для начинающих говорится: "

190