사람이 내 루트 POJA이고 내 자식 개체로 전화 번호 목록이 있습니다.자바 스트림에서 하위 객체를 필터링하여 상위 객체를 검색하는 방법
String firstName;
String lastName;
Long id;
List<String> phoneNumber = new ArrayList<>();
int age;
public Person(String firstName, String lastName, int age, Long id, List<String> phone) {
super();
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.id = id;
this.phoneNumber = phone;
}
List<Person> personList = Arrays.asList(
new Person("Abdul", "Razak", 27, 50L, Arrays.asList("100", "101", "102")),
new Person("Udemy", "tut", 56, 60L, Arrays.asList("200", "201", "202")),
new Person("Coursera", "tut", 78, 20L, Arrays.asList("300", "301", "302")),
new Person("linked", "tut", 14, 10L, Arrays.asList("400", "401", "402")),
new Person("facebook", "tut", 24, 5L, Arrays.asList("500", "501", "502")),
new Person("covila", "tut", 34, 22L, Arrays.asList("600", "602", "604")),
new Person("twitter", "tut", 64, 32L, Arrays.asList("700", "702", "704"))
);
List<String> list = personList.stream()
.map(p -> p.getPhoneNumber().stream())
.flatMap(inputStream -> inputStream)
.filter(p -> p.contains("502"))
.collect(Collectors.toList());
숫자가 특정 문자열과 일치하는 사람을 검색하고 싶습니다. 스트림을 사용하여 이것을 달성 할 수 있습니까?
List<String> list = personList.stream()
.map(p -> p.getPhoneNumber().stream())
.flatMap(inputStream -> inputStream)
.filter(p -> p.contains("502"))
.collect(Collectors.toList());
간단히 말해, 자식 개체를 필터링하여 부모 개체를 검색하는 방법은 무엇입니까?
당신을 감사하십시오. flatmap을 사용하여 자식 객체 –