[java] 자바 함수형 인터페이스의 사용 예시는 어떤 것이 있나요?

자바 8부터 함수형 프로그래밍을 지원하기 위해 함수형 인터페이스가 소개되었습니다. 함수형 인터페이스는 단일 추상 메서드를 가지는 인터페이스로서 람다 표현식과 함께 사용될 수 있습니다. 이를 통해 간결하고 유연한 코드를 작성할 수 있습니다.

다음은 자바 함수형 인터페이스의 사용 예시 몇 가지입니다:

  1. Consumer 인터페이스 Consumer 인터페이스는 입력값을 받아서 처리하는 용도로 사용됩니다. 다음은 문자열 리스트를 출력하는 예시입니다:
List<String> strings = Arrays.asList("Hello", "World");
strings.forEach(str -> System.out.println(str));
  1. Predicate 인터페이스 Predicate 인터페이스는 주어진 조건에 따라 참 또는 거짓을 반환하는 용도로 사용됩니다. 다음은 정수 리스트에서 짝수만 필터링하는 예시입니다:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream()
                                   .filter(num -> num % 2 == 0)
                                   .collect(Collectors.toList());
  1. Function<T, R> 인터페이스 Function<T, R> 인터페이스는 주어진 입력값을 가공하여 결과값을 반환하는 용도로 사용됩니다. 다음은 문자열 리스트의 각 문자열을 대문자로 변환하는 예시입니다:
List<String> strings = Arrays.asList("hello", "world");
List<String> upperStrings = strings.stream()
                                   .map(str -> str.toUpperCase())
                                   .collect(Collectors.toList());

위의 예시는 자바 함수형 인터페이스를 사용한 몇 가지 예시입니다. 이 외에도 Supplier, BiConsumer<T, U>, BiFunction<T, U, R> 등 다양한 함수형 인터페이스가 존재합니다. 자바에서 제공하는 함수형 인터페이스의 종류와 사용법을 익히면 더욱 편리하고 간결한 코드를 작성할 수 있습니다.

자세한 내용은 Java 8의 함수형 인터페이스 문서를 참고하시기 바랍니다.