티스토리 뷰

개요

  • JDK 8에 추가됨 (java.util.stream 패키지)

  • 기본적으로 표준 API 함수적 인터페이스 사용함

  • 기존에 사용했던 컬렉션(List, Set, Map)은 데이터를 저장하는 역할에 촛점을 맞춤
    자바 스트림 API를 이용하면 컬렉션에 저장된 데이터를 연산(중간처리, 최종처리)이 가능하다.

    중간처리: 컬렉션에 지정된 데이터를 정렬, 중복제거, 필터링, skip 등의 작업
    최종처리: 컬렉션에 지정된 데이터를 중간처리를 거쳐서 나온 값들을 반복출력, 타입변환(List→Map), 그룹핑, 통계처리(합계,평균,최대,최소,갯수) 등의 작업

    ⇒ 자바코드로 SQL 같은 작업을 할 수 있다.







자바 스트림 API 이용 3단계

  1. 컬렉션(배열)에서 스트림을 생성
List<String> list = Arrays.asList("홍길동", "이순신", "유관순");
        Stream<String> s = list.stream();
  1. 중간처리

    1. Sorted : 정렬
    2. Distinct : 중복제거
    3. Filter : 필터링
    4. SKIP :
    5. LIMIT : 일정갯수만큼만 가져올 수 있음
    6. 가공처리 (map, flatMap)
  2. 최종처리

    1. 반복처리(forEach)

    2. 합계(sum), 평균(average), 최대(max), 최소(min), 갯수(count)

    3. 그룹핑, 타입변환 (collect)

    4. noneMatch, anyMatch, allMatch 요소의 검사

      noneMatch는 최종적으로 얻은 스트림의 "모든" 요소들이 조건을 만족하지 "않는"지를 판단해서 boolean값을 리턴한다.

      anyMatch는 스트림의 요소들 중에 하나라도 조건을 만족하는지 판단해서 boolean값을 리턴하고,

      allMatch는 스트림의 "모든" 요소들이 조건을 만족하는지를 판단해서 boolean값을 리턴한다.

⇒ "Collections같은 객체 집합.스트림생성().중개연산().최종연산();"

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함