본문 바로가기
3.1 SpringBoot/Java

[Java/기초] 스트림

by Dohi._. 2024. 7. 21.
728x90

스트림(Stream)

  • 배열,컬렉션 등의 데이터를 하나씩 참조하여 처리가능한 기능
  • for문의 사용을 줄여 코드 간결화
    • 주로 배열,컬렉션을 사용할땐 for 또는 foreach 문을 돌면서 요소 하나씩 꺼냄
    • 코드의 양이 많아져 여러 로직이 섞이게 되고, 여러 루프를 타는경우 발생
  • 스트림은 배열 또는 컬렉션 인스턴스에 함수들을 조합해서 가공된 결과 얻음.
  • 즉, 배열과 컬렉션을 함수형으로 처리

스트림 구성

  • 크게 3가지로 구성
    • Stream 생성
    • 중개 연산
    • 최종 연산
      데이터소스객체.Stream생성().중개연산().최종연산()

스트림 생성

  1. 배열 스트림
    String[] arr = new String[]{"A","B","C"};
    Stream stream = Arrays.stream(arr);
  2. 컬렉션 스트림
    ArrayList list = new ArrayList(Arrays.asList(1,2,3));
    Stream stream = list.stream();
  • builder, generate, iterate, IntStream

주요 중개연산

  1. Filtering

    • filter 내부조건에 참인 요소들을 추출
      IntStream ints = IntStream.range(1,10).filter(n->n%2==0);
      //2 4 6 8 
      1. Mapping
      • map 안의 연산을 요소별 수행
    • 즉 연산을 통해 모든 요소별 값을 변환
      IntStream ints = IntStream.range(1,10).map(n->n+1);
      //2,3,4,5,6,7,8,9,10
      • limit, sorted()

    주요 최종연산

    • Sum,Average
    • min, max
    • reduce -> 연쇄적인 합 0항 +1항=a -> a+2항=b-> b+3항..
    • forEach
728x90

'3.1 SpringBoot > Java' 카테고리의 다른 글

[Java/기초] Stream  (0) 2024.08.05
[Java/기초] 주석  (0) 2024.07.22
[JAVA/기초] 람다식  (2) 2024.07.20
[JAVA/기초] 컬렉션프레임워크  (2) 2024.07.19
[java/기초] 예외처리  (0) 2024.07.16

댓글