문제
다음 Java 코드의 실행 결과를 쓰시오.
Javaimport java.util.*; public class Main { public static void main(String[] args) { List<String> words = new ArrayList<>(Arrays.asList("tiger", "elephant", "cat")); words.sort((x, y) -> Integer.compare(y.length(), x.length())); System.out.println(words.get(1) + "-" + words.get(0)); } }
정답
tiger-elephant
tiger-elephant
해설
Comparator 람다식 (x, y) -> Integer.compare(y.length(), x.length())는 길이 내림차순 정렬을 수행합니다. 원래 리스트: ["tiger"(5), "elephant"(8), "cat"(3)]. 길이 내림차순 정렬 후: ["elephant"(8), "tiger"(5), "cat"(3)]. words.get(1)은 "tiger", words.get(0)은 "elephant"이므로 "tiger-elephant"가 출력됩니다.