Stream filter + sorted + distinct 조합
[문제]
정수 리스트에서 30 이상인 숫자만 선택하여 중복을 제거하고 오름차순 정렬하세요.
[데이터]
[50, 30, 40, 30, 60, 20, 50, 45, 30]
[요구사항]
- filter()로 30 이상 선택
- distinct()로 중복 제거
- sorted()로 오름차순 정렬
- 결과 출력
[소스]
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FilterDistinctSorted {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(50, 30, 40, 30, 60, 20, 50, 45, 30);
System.out.println("원본: " + numbers);
// filter -> distinct -> sorted 순서로 처리
List<Integer> result = numbers.stream()
.filter(n -> n >= 30) // 30 이상만 선택
.distinct() // 중복 제거
.sorted() // 오름차순 정렬
.collect(Collectors.toList());
System.out.println("30 이상, 중복제거, 정렬 후: " + result);
}
}