1 minute read

JAVA Stream API 활용법

[1] JAVA Stream API

Java Stream API를 사용하면 컬렉션의 요소를 처리하는 작업을 쉽게 할 수 있습니다. Stream API는 요소의 집합을 처리하는 연산을 지원하며, 일반적으로 중간 연산과 최종 연산으로 나뉩니다.

Stream API를 사용하는 가장 일반적인 방법은 체인 메서드를 사용하여 중간 연산과 최종 연산을 조합하는 것입니다. 여기에는 다음과 같은 몇 가지 예가 있습니다.

[2] filter

filter(): 요소를 선택하는 데 사용됩니다. 예를 들어, 어떤 조건을 만족하는 모든 요소를 선택하고 싶다면 filter() 메서드를 사용할 수 있습니다.

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
                                   .filter(n -> n % 2 == 0)
                                   .collect(Collectors.toList());

[3] map

map(): 요소를 변환하는 데 사용됩니다. 예를 들어, 모든 요소에 대해 제곱 값을 구하고 싶다면 map() 메서드를 사용할 수 있습니다.

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> squares = numbers.stream()
                               .map(n -> n * n)
                               .collect(Collectors.toList());

[4] sorted

sorted(): 요소를 정렬하는 데 사용됩니다. 예를 들어, 숫자를 오름차순으로 정렬하고 싶다면 sorted() 메서드를 사용할 수 있습니다.

List<Integer> numbers = Arrays.asList(5, 3, 9, 1, 8, 2, 4, 10, 7, 6);
List<Integer> sortedNumbers = numbers.stream()
                                     .sorted()
                                     .collect(Collectors.toList());

[5] distinct

distinct(): 중복 요소를 제거하는 데 사용됩니다. 예를 들어, 중복된 문자열을 제거하고 싶다면 distinct() 메서드를 사용할 수 있습니다.

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Alice", "Dave", "Charlie");
List<String> uniqueNames = names.stream()
                                .distinct()
                                .collect(Collectors.toList());

[6] reduce

reduce(): 요소를 결합하는 데 사용됩니다. 예를 들어, 모든 숫자를 더하고 싶다면 reduce() 메서드를 사용할 수 있습니다.

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
                 .reduce(0, (a, b) -> a + b);

이외에도 Stream API에서 사용할 수 있는 다양한 체인 메서드가 있습니다. 이러한 메서드를 적절히 조합하여 원하는 결과를 얻을 수 있습니다.

Categories:

Updated:

Comments