Я пытаюсь сгладить мой поток String [] в поток String
Например
{ "A", "B", "C" }, {"D, "E" } to "A", "B", "C", "D", "E"
Это код, который у меня есть:
Files.lines(Paths.get(file)).map(a -> a.split(" "));
Files.lines(path)
возвращает Stream[String]
, и я разбил каждую строку на "", чтобы получить массив всех слов (так что теперь Stream<String[]>
.
Я хотел бы объединить каждый массив слов в отдельные элементы, поэтомуStream[String]
вместо Stream<String[]>
Когда я использую flatMap вместо карты, я получаю сообщение об ошибке: Type mismatch: cannot convert from String[] to Stream<? extends Object>
Я думал, что flatMap
используется для этой цели? Какой лучший способ?чтобы выполнить то, что я пытаюсь сделать
Вопрос от профессора:
Использование потоков: напишите метод для классификации слов в файле по длине:
public static Map<Integer,List<String>> wordsByLength(String file)
throws IOException {
// COMPLETE THIS METHOD
}