Filter와 map descriptor는 입력·판단·산출 타입을 연결한다

raw Predicate와 Function은 두 알고리즘 사이의 타입 관계를 Object cast로 밀어냅니다.

source

List<T>

filter

Predicate<? super T>

map

Function<? super T,? extends R>

filter result

T 유지 또는 제외

map result

R 생산

핵심: descriptor만 읽어도 누가 소비하고 무엇을 생산하는지 보여야 합니다.