Как упростить сложный фильтр потока опционовJAVA

Программисты JAVA общаются здесь
Anonymous
Как упростить сложный фильтр потока опционов

Сообщение Anonymous »

Я новичок в опциональных условиях в Java и хотел бы реализовать следующую логику. В противном случае я хочу, чтобы первый элемент соответствовал шаблону.*Ap.*. Если я все еще не получу элемент, я хочу первый элемент списка.List testList = Arrays.asList("banana", "apple", "cheese", "chocolate");

String food = testList.stream()
.filter(str -> str.equals("chocolate"))
.findFirst()
.orElseGet(() -> testList.stream()
.filter(str -> str.matches(".*ap.*"))
.findFirst()
.orElseGet(() -> testList.get(0)));


Подробнее здесь: https://stackoverflow.com/questions/797 ... als-stream

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