νλ‘μ νΈμμ 쿼리 κ²°κ³Όλ μλΉμ€ λ μ΄μ΄μ λ©μλκ° λ°ννλ dto κ°μ²΄ λ± streamμ νμ©νμλ€.
μ μκ³ μ¬μ©ν κ²μ΄ μλλΌ, ai μλ¬Έλ ꡬν΄λ³΄κ³ λ€λ₯Έ μ¬λμ μμ€μ½λλ₯Ό μ΄ν΄λ³΄λ©΄μ μ΅ν μΌμ’ μ μΌλ§€? μλ€.
μμ±νλ €λ μ½λμ λν΄ μ μκ³ λ₯λμ μΌλ‘ μ¬μ©νκΈ° μν΄ streamμ λν΄μ μμ보μ
Java Stream APIλ₯Ό μ¬μ©νκΈ° μ μλ λ§μ μμ λ°μ΄ν°λ₯Ό λ°°μ΄μ΄λ 컬λ μ μΌλ‘ μ²λ¦¬νλλ°, μ΄ λ°©λ²λ€μ λ°μ΄ν°μ μ κ·ΌνκΈ° μν΄ λ°λ³΅λ¬Έμ μ¬μ©ν΄μ μλ‘μ΄ μ½λλ₯Ό μμ±ν΄μΌ νκΈ° λλ¬Έμ μ½λκ° κΈΈμ΄μ§κ³ 볡μ‘ν΄μ§λ©° μ¬μμ©μ± λν μ’μ§ μμλ€.
Java 8 λΆν° λ±μ₯νλ Stream API
λ λ°μ΄ν°λ₯Ό λ€μν λ°©μμΌλ‘ μ½κ³ μ°κΈ° μν 곡ν΅λ λ°©λ²μ΄λ€.
λ§μΉ SQL 쿼리 μ²λΌ μ ννλ μ²λ¦¬ ν¨ν΄μ κ°μ§κ² νμ¬ λ°μ΄ν°λ₯Ό λ€λ£° μ μλλ‘ νμλ€. κ°
λ°μ΄ν°λ₯Ό μ²λ¦¬νκΈ° μν APIμ΄λ―λ‘ λ°μ΄ν°λ₯Ό κ°κ°μ λ¨κ³ λ³λ‘ μ²λ¦¬νλ κ΅¬μ‘°λ‘ λμ΄μλ€.
μμ±
β μ€κ° μ°μ°
β μ΅μ’
μ°μ°
μμ±
μ λ°μ΄ν°μ 컬λ μ
μ stream
μΌλ‘ λ³ννλ κ³Όμ μΌλ‘, stream
μ μμ±νλ λ¨κ³μ΄λ€.
μ΄ λ¨κ³μ νΉμ§μ λ°μ΄ν°κ° νμν λλ§ loadλλ€λ μ μ΄λ€. β μ§μ° νκ°(Lazy Evaluation)
μ§μ° νκ°(Lazy Evaluation)
λλμ λ°μ΄ν° μ μμ λ©λͺ¨λ¦¬ μ¬μ©λμ μ΅μ ννκ³ , λΆνμν λ°μ΄ν°λ₯Ό κ°μ Έμ€μ§ μμλ λκΈ° λλ¬Έμ λ§€μ° ν¨μ¨μ μ΄κ² λλ€.
μ€κ° μ°μ°
μ λ°μ΄ν° 컬λ μ
μ μνλ ννλ‘ λ§λ€μ΄μ£Όλ λ¨κ³μ΄λ€.(filter, map, sort λ±μ μ°μ°)