문제
다음 Java 코드의 실행 결과를 쓰시오.
Javaimport java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { String result = Stream.of("apple", "banana", "cherry", "date") .filter(s -> s.length() > 4) .map(s -> s.substring(0, 2).toUpperCase()) .reduce("", (total, part) -> { if (total.isEmpty()) return part; return total + "-" + part; }); System.out.println(result); } }
정답
AP-BA-CH
AP-BA-CH
해설
먼저 길이가 4보다 긴 문자열만 필터링: "apple", "banana", "cherry"가 선택됩니다. 각각 앞 2글자를 대문자로 변환: "AP", "BA", "CH"가 됩니다. reduce에서 첫 번째 요소는 그대로 "AP"가 되고, 이후 요소들은 "-"로 연결되어 최종 결과는 "AP-BA-CH"입니다.