ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20240829 13일차
    카테고리 없음 2024. 8. 29. 17:48

    [Stream]
    - 컬렉션은 데이터 원소의 효율적인 관리와 접근에 맞게 설계되어 있지만, 스트림은 데이터 원소에
    서 수행할 함수형 연산에 맞게 설계되어 있음
    - 스트림은 원소에 직접 접근하거나 조작하는 수단을 제공하지 않음
    - 스트림을 다 사용한 후에는 더 이상 재사용할 수 없음

    - Optional
      * 결과가 없을 수도 있는 경우를 안전하게 처리하기 위해 사용함
      * 값이 없을 때 기본값을 제공할 수 있음
      * 값이 없을 때 예외를 던질 수 있음


    - 느긋한 연산/조급한 연산
      * 느긋한 연산은 조급한 연산이 데이터 소스에게 원소를 요구할 때까지 아무 연산도 수행하지 않음
      * 스트림의 최종 연산: 조급한 연산, 중간 연산: 느긋한 연산
      * 스트림의 중간 연산이 느긋한 연산이기 때문에 다운로드 방식처럼 저장 공간이 따로 필요 없음 -> 빅데이터뿐만 아니라 무한 스트림에도 대응 가능

    =============== LazyDemo.java

    [Stream 매칭과 검색]
    - Optional<T> findAny()
    - Optional<T> findFirst()
      > 찾으면 Optional[T] 반환 / 못찾으면 Optional.empty 반환

Designed by Tistory.