Сопоставление рисунков с использованием java -потоковJAVA

Программисты JAVA общаются здесь
Anonymous
Сопоставление рисунков с использованием java -потоков

Сообщение Anonymous »

Я реализовал логику, чтобы извлечь какое -то значение из строки, используя подобное Regex. < /p>
for(int i = 0; i < fragmentedHeader.length - 1; i++) {
if(fragmentedHeader[i + 1].contains("ads_management")) {
Pattern pattern = Pattern.compile("[0-9]{15}");
Matcher matcher = pattern.matcher(fragmentedHeader);
while (matcher.find()) {
catalogIds.add(matcher.group());
}
}
}
< /code>
это работает, как и ожидалось. Теперь мне нужно реализовать эту логику, используя Java Streams, чтобы сделать ее более читабельной. Я просто хотел сделать ее более читабельным и простым в глазах. Я реализовал это, но это не работает никаких предложений. < /P>
Pattern pattern = Pattern.compile("[0-9]{15}");
catalogIds = IntStream.range(0, fragmentedHeader.length - 1)
.filter(index -> fragmentedHeader[index+1].contains("ads_management") && pattern.matcher(fragmentedHeader[index]).find())
.mapToObj(index -> fragmentedHeader[index])
.collect(Collectors.toList());

catalogIds = catalogIds.stream()
.map(header -> pattern.matcher(header).group())
.collect(Collectors.toList());
< /code>
Ошибка, которую я получаю, не найдена. Но есть ли способ снабжать сочетание на следующий поток < /p>
.filter(index -> fragmentedHeader[index+1].contains("ads_management") && pattern.matcher(fragmentedHeader[index]).find())
.mapToObj(index-> pattern.matcher(fragmentedHeader[index]).group())


Подробнее здесь: https://stackoverflow.com/questions/690 ... va-streams

Вернуться в «JAVA»