약 4분
읽기 설정
글자 크기
줄 간격
글꼴
3.2. Stream API 활용
Stream API는 Java 8에서 도입된 강력한 기능으로, 컬렉션 데이터를 쉽게 처리할 수 있는 방법을 제공합니다. 특히 대량의 데이터에 대한 연산을 수행할 때 유용하며, 가독성 높은 코드를 작성할 수 있도록 돕습니다.
왜 Stream API를 사용할까?
전통적인 컬렉션 처리 방식은 여러 가지 반복문을 사용하여 데이터를 하나하나 처리해야 했으며, 이 과정에서 코드가 복잡해질 수 있었습니다. Stream API는 이러한 반복문을 대신하여
함수형 프로그래밍 접근법을 사용하여 데이터를 처리할 수 있는 방법을 제공함으로써 코드의 간결함을 유지합니다. 이는 유지보수 및 가독성 측면에서 중요한 이점이 있습니다.
Stream API의 기본 사용법
Stream API를 사용하기 위해 컬렉션(List, Set 등)에 stream() 메소드를 호출하면, 해당 컬렉션으로부터 Stream 객체를 생성할 수 있습니다. 이후 다양한 메소드(예: filter(), map(), reduce())를 체이닝할 수 있습니다.
import java.util.Arrays;
import java.util.List;
public class StreamExample {
public static void main(String[] args) {
// 데이터 리스트
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Stream을 사용하여 짝수만 필터링
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.toList(); // toList() 메소드로 List로 변환
// 결과 출력
System.out.println(evenNumbers); // [2, 4, 6, 8, 10]
}
}
실습
위 코드를 IntelliJ IDEA에서 작성하고 실행하여 짝수 목록을 만들어 보시기 바랍니다. 작업 후, 아래와 같은 질문에 답해보세요:
- Stream API를 사용하여 여러 조건을 조합할 수 있는 방법은 무엇인가요?
- 스트림을 통해 생성된 결과를 수정하거나 변형하는 방법에는 어떤 것들이 있나요?
응용 문제
- 주어진 정수 목록에서 홀수의 합을 구하는 Stream API 프로그램을 작성하세요.
- 문자열 목록에서 'a' 문자가 포함된 문자열만 걸러내는 프로그램을 작성하세요.
정리
Stream API는 데이터를 처리하는 유연하고 강력한 방법으로, 성능과 가독성을 동시에 고려할 수 있는 도구입니다. 다양한 메소드를 체이닝하여 복잡한 연산을 간단하게 표현할 수 있으며, 이는 객체지향 프로그래밍(OOP)의 구현 원칙에도 잘 부합합니다. 앞으로의 실습 및 프로젝트에서도 이 Stream API를 적절하게 활용하여 효율적인 코드를 작성해 보세요.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.