Generic filter와 map은 순회 구조를 공유하고 함수 계약이 다르다

String 전용 반복문을 타입마다 복사하지 않고 변화하는 판단과 변환을 매개변수로 받습니다.

  1. 1

    source List<T>

    읽기 전용

  2. 2

    Predicate<? super T>

    유지 여부

  3. 3

    selected T

    순서 보존

  4. 4

    Function<? super T,? extends R>

    값 변환

  5. 5

    List<R>

    불변 snapshot

핵심: 원본 순서와 호출 횟수, null·예외 정책을 utility 계약에 고정합니다.