JAVA - Stream(스트림)

2022. 5. 16. 11:24·STUDY/JAVA
반응형
스트림 ?
   여러 자료의 처리에 대한 기능을 구현해 놓은 클래스

1. 스트림 특징

  - 자료의 대상과 상관없이 항상 동일한 연산을 수행

  - 한 번 생성 & 사용한 스트림은 재사용 할 수 없음

  - 스트림의 연산은 기존 자료에 영향을 주지 않음

 

2. 스트림연산에는 중간연산과 최종연산 두 가지가 있음

  - 중간연산 : 자료를 거르거나 변경하여 또 다른 자료를 내부적으로 생성

  - 최종연산 : 생성된 내부자료를 소모해 가면서 연산을 수행

 

중간연산 : filter(), map()

   filter() : 조건을 넣고 그 조건에 참인 경우만 추출

   map() : 이름만 출력

최종연산 : forEach(), count(), sum(), reduce()

   forEach() : 하나씩 출력   count() : 개수 출력   sum() : 합계   reduce()

 

*배열 요소의 합과 개수출력

 

Arrays에 stream을 호출 한 뒤 sum()연산으로 배열에 저장된 값을 모두 더함

Arrays에 stream을 호출 한 뒤 count()연산으로 배열의 요소 개수를 반환

   -> Type mismatch : cannot convert from long to int 

   -> (int)형으로 변환

 


Collection에서 스트림 활용(ArrayList)

  ⓐ. ArrayList 생성

  ⓑ. stream메서드 사용해서 스트림 생성

  ⓒ. 모든 요소를 하나씩 출력(forEach())

       : forEach메서드가 수행 -> 요소가 하나씩 변수 s에 대입 -> 매개변수로 받아 출력문 호출

  ⓓ. 글자크기가 5 이상인 요소 출력(filter, forEach)

      : 위에서 stream변수를 생성했지만 forEach가 수행되면서 자료가 소모됨 -> 새로 스트림을 생성해야함

 

 

반응형
저작자표시 (새창열림)

'STUDY > JAVA' 카테고리의 다른 글

List와 Array(배열)의 차이점 + ArrayList  (1) 2022.10.27
오버로딩과 오버라이딩의 차이점  (0) 2022.10.26
JAVA - @Override(메소드 재정의)  (1) 2022.05.11
JAVA - 상속(Inheritance)  (0) 2022.05.11
JAVA - Set컬렉션 인터페이스 /HashSet 클래스  (0) 2022.05.04
'STUDY/JAVA' 카테고리의 다른 글
  • List와 Array(배열)의 차이점 + ArrayList
  • 오버로딩과 오버라이딩의 차이점
  • JAVA - @Override(메소드 재정의)
  • JAVA - 상속(Inheritance)
3unB
3unB
  • 3unB
    ILLILI
    3unB
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • STUDY (109)
        • JAVA (31)
        • SPRING (29)
        • JSP (11)
        • DATABASE (19)
        • HTML (0)
        • CSS (4)
        • GITHUB (2)
        • ETC (5)
        • 자격증 (1)
        • ERROR (6)
      • PROJECT (6)
        • Personal_Project 01 - commu.. (1)
        • TeamProject - JOINUS (4)
      • EUNB (30)
        • 맛집 (27)
        • 여행 (3)
        • 전세사기 (0)
      • 오블완챌린지 ++ (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 짱민지
    • 아랄이
  • 공지사항

  • 인기 글

  • 태그

    전포 연어덮밥
    오블완
    콩콩팥팥 맛집
    전포 신상 맛집
    속초 숙소 내돈내산
    전포동 핫플
    배열 한 컬럼에 넣기
    전포 데이트
    속초 중앙시장 감자전
    mysql
    전포 오꼬노미야끼
    서면 설야멱
    인제 고향집
    센텀 신세계백화점 팝업
    속초 해변 숙소
    전포 맛집
    티스토리챌린지
    망미 테린느
    alter
    Database
    서면 맛집
    망미 바
    망미 카페
    망미 조용한 카페
    전포 밥집
    전포동 카페
    oracle
    콩콩팥팥 두부
    전포동 맛집
    인제 두부
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.0
3unB
JAVA - Stream(스트림)
상단으로

티스토리툴바