1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    lambdaj는 반복문 또는 이너 클래스 없이 다음과 같이 컬렉션들을 필터링하는 방법을 지원합니다:

    List<Person> beerDrinkers = select(persons, having(on(Person.class).getAge(),
        greaterThan(16)));
    

    다음을 참고하세요:

    https://code.google.com/archive/p/lambdaj/

    Update:

    스트림과 람다식을 도입한 자바 8 (2014)를 가지고 위의 문제를 단 한줄로도 해결할 수 있습니다:

    List<Person> beerDrinkers = persons.stream()
        .filter(p -> p.getAge() > 16).collect(Collectors.toList());
    

    튜토리얼도 참고해보세요.

    만약 즉시 컬렉션의 데이터를 수정하기를 원지 않는다면, Collection#removeIf를 사용할 수도 있습니다:

    persons.removeIf(p -> p.getAge() > 16);
    

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.