개발의 시작과 끝

2023.09.18 / 자바 스트림 본문

IT 용어

2023.09.18 / 자바 스트림

개발지혜 2023. 9. 18. 18:13

스트림(Stream)

  • 자바 프로그래밍 언어의 기능 중 하나
  • 컬렉션 데이터를 다루고 변환하는 데 사용되는 강력한 기능
  • 데이터 처리함수형 방식으로 다룸.
  • 코드를 간결하고 가독성 있게 작성할 수 있도록 도움.
  • 주요 특징과 개념
    • 데이터 소스 : 컬렉션, 배열, 파일 등 여러 종류.
    • 파이프라이닝 : 중간 연산과 최종 연산으로 구성.
      중간 연산은 스트림을 변환하고 필터링하며, 최종 연산은 최종 결과를 생성.
      이러한 연산은 파이프라인을 형성.
    • 지연 평가(lazy evaluation) : 지연 평가를 사용하여 요청할 때만 요소를 처리.
      메모리를 효율적으로 사용하고 불필요한 연산은 지양.
    • 스트림 연산 : 연산을 조합해 원하는 데이터 처리 작업 수행.
      • 중간 연산 : filter(), map(), flatMap()
      • 최종 연산 : forEach(), collect(), reduce()
    • 병렬 처리 : 데이터가 큰 경우 멀티코어 CPU를 활용하여 작업 병렬 처리
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// 스트림 생성
Stream<Integer> numberStream = numbers.stream();

// 중간 연산 - 짝수만 필터링
Stream<Integer> evenNumbers = numberStream.filter(n -> n % 2 == 0);

// 최종 연산 - 합계 계산
int sum = evenNumbers.reduce(0, (a, b) -> a + b);

System.out.println("짝수의 합: " + sum); // 출력: 짝수의 합: 30

 

 

참고

- https://chat.openai.com