Я хочу найти 1-й элемент в списке, соответствующий равенству. :RxJava Predicate Filter
1 Casting его подтип
class EditorialBlock extends Block
2 фильтра элемента
3 возвращает первый элемент в противном случае, если не найден обратный нуль.
Обычно я пишу это как
EditorialBlock findBlockByID(final List<Block> contentBlocks, final String identifier) {
for (Block block : contentBlocks) {
EditorialBlock item = (EditorialBlock) block; // 1 casting
if (identifier.equals(item.getIdentifier())) { // 2 filter
return item; // 3 return the first element
}
}
return null;
}
Как это может написана с RxJava? Вы можете также разлагать 4 шага: 0 итерации, 1 Кастинг, 2 фильтра, 3 Return первого элемента или нуль
Примечание: Я был поклонником Predicate гуавы в. Чтобы снизить количество dex в моих приложениях для Android, я собираюсь заменить RxJava на Предикаты Guava, если это возможно.