Есть массив слов. Я хочу его в потоке stream
немного обработать. Абстрактная задача.
Используя потоки, можно ли это реализовать?
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class WordsStream {
public static void main(String[] args){
String contents = "Гештальт, в первом приближении, социально аннигилирует закон. Психоанализ отражает латентный генезис.";
List<String> list = Arrays.asList(contents.split("\\PL+"));
Stream<String> stringStream = list.stream()
// Преобразуем все в нижний регистр
.map(String::toLowerCase)
// Получаем первую букву слова
.map(s -> s.substring(0, 1))
// Объединить буквы от 3-4 составив "слова"
;
System.out.println(Arrays.toString(stringStream.toArray()));
}
}
output на текущий момент:
[г, в, п, п, с, а, з, п, о, л, г]
Ожидаемый результат:
[гвпп, сазп, олг]
На базе исходного кода и данного ответа получается так:
String contents = "Гештальт, в первом приближении, социально аннигилирует закон. Психоанализ отражает латентный генезис.";
List<String> list = Arrays.asList(contents.split("\\PL+"));
int size = 4;
Object[] result = IntStream.range(0, (list.size() + size - 1) / size)
.mapToObj(index -> list.subList(index * size, Math.min(size * (index + 1), list.size())))
.map(subList -> subList.stream()
.map(word -> word.substring(0, 1).toLowerCase())
.collect(Collectors.joining()))
.toArray();
System.out.println(Arrays.toString(result));
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class WordsStream {
public static void main(String[] args){
String contents = "Гештальт, в первом приближении, социально аннигилирует закон. Психоанализ отражает латентный генезис.";
List<String> list = Arrays.asList(contents.split("\\PL+"));
String string = list.stream()
// Преобразуем все в нижний регистр
.map(String::toLowerCase)
// Получаем первую букву слова
.map(s -> s.substring(0, 1))
.collect(Collectors.joining())
// Объединить буквы от 3-4 составив "слова"
;
System.out.println(string);
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть строки в xml которые я вытягиваю в кодев IntelliJ IDEA, когда открываешь файл с кодом, видно так
Изучаю класс Object: Множество методов класса ArrayList используют основной полиморфический тип ObjectПоскольку каждый класс в языке Java - потомок класса...