У меня есть
List<String, Person> generalList
в качестве списка.есть объект Customer в разделе Person, еще один список в разделе Customer с именем Id
Я хочу отфильтровать этот вложенный IdList в объекте, но он не работает.
Я пытался использовать flatMap, но этот кодне работает
String s = generalList.stream()
.flatMap(a -> a.getCustomer().getIdList().stream())
.filter(b -> b.getValue().equals("1"))
.findFirst()
.orElse(null);
Я ожидаю вывод в виде объекта String или Customer
Редактировать: Мой оригинальный контейнер - это карта, я фильтрую карту в список
Объяснение.
Map<String, List<Person> container;
List<Person> list = container.get("A");
String s = list.stream()
.flatMap(a -> a.getCustomer().getIdList().stream())
.filter(b -> b.getValue().equals("1"))
.findFirst()
.orElse(null);
Вот человек
public class Person
{
private Customer customer;
public Customer getCustomer ()
{
return customer;
}
}
И клиент
public class Customer {
private Id[] idList;
/*getter setter*/
}
И Id
public class Id {
private String value;
/*getter setter*/
}