2017-12-26 36 views
2

가 나는 Project 클래스가 연산 식 이름 목록이 결과로 나타납니다.자바 (8)를 사용하여 목록을 필터링 람다는

자바 8 람다 식을 사용하여 어떻게 할 수 있습니까?

감사

+4

당신은 당신이없이 이미 무엇을하려고 쓴 자바 8 기능을 사용합니다. 우리는 당신이 스트림과 람다 (lambda)를 사용하는 데 도움이 될 것입니다. – luk2302

답변

5

글쎄, 당신은 정확한 필터링 조건을 명시하지만, 주어진 년까지 요소를 필터링 할 가정하지 않았다 :

List<Name> names = projects.stream() 
    .filter(p -> p.getYear() == someYear) // keep only projects of a 
             // given year 
    .flatMap(p -> p.getNames().stream()) // get a Stream of all the 
             // Names of all Projects 
             // that passed the filter 
    .collect(Collectors.toList());  // collect to a List