Item 47. Return Collection or Stream
λ°ν νμ μΌλ‘λ μ€νΈλ¦Όλ³΄λ€ 컬λ μ μ΄ λ«λ€
λ©μλ λ°ν νμ μΌλ‘λ μ£Όλ‘ μ»¬λ μ μΈν°νμ΄μ€λ Iterable, νΉμ λ°°μ΄μ΄ μ¬μ©λλ€. μ€νΈλ¦Ό νμ μμ λ°νν μ μμ§λ§ λ°ν λ μ€νΈλ¦Όμ for-eachλ‘ λ°λ³΅ν μ μμ΄ κΆμ₯νμ§ μλλ€.(λ©μλ μ°Έμ‘° + νλ³νμ μ¬μ©νλ©΄ λκΈ΄ νμ§λ§, λΉν¨μ¨μ )
λ§μ½ μ€μ§ μ€νΈλ¦Ό νμ΄νλΌμΈμλ§ μ°μ΄λ κ²½μ°λΌλ©΄ μ€νΈλ¦Όμ λ°νν΄λ λμ§λ§, κ·Έλ μ§ μμ κ²½μ° Iterableμ λ°ννλ κ²μ΄ μ’λ€.
Collection μΈν°νμ΄μ€
Collection μΈν°νμ΄μ€λ Iterableμ νμ μΈν°νμ΄μ€μ΄λ©΄μ stream λ©μλλ₯Ό μ 곡νλ€. λλ¬Έμ Collection μΈν°νμ΄μ€λ₯Ό λ°ννλ©΄ 컬λ μ μ λ°λ³΅ν μ μκ³ , μ€νΈλ¦ΌμΌλ‘λ μ¬μ©ν μ μκΈ° λλ¬Έμ λ°ν νμ μΌλ‘λ Collection μΈν°νμ΄μ€κ° μ΅μ μ΄λΌκ³ ν μ μλ€.
λ§μ½ μνμ€μ ν¬κΈ°κ° ν¬μ§ μλ€λ©΄ ArrayList
λ HashSet
κ°μ νμ€ μ»¬λ μ
ꡬν체λ₯Ό λ°νν΄λ μ’μ§λ§, ν° μνμ€μΈ κ²½μ° Collection μΈν°νμ΄μ€λ₯Ό ꡬνν ν΄λμ€λ₯Ό λ°ννλ κ²μ μ’μ§ μλ€.
μλ₯Ό λ€μ΄ λ©±μ§ν©μ ꡬνλ λ©μλμ κ²½μ° 2^nκ°μ μμλ₯Ό κ°μ§ Collectionμ λ°ννκ² λλλ°, μ΄ κ²½μ° ArrayListλ₯Ό λ°ννλ©΄ λ©λͺ¨λ¦¬λ₯Ό λ§μ΄ μ¬μ©νκ² λλ€.
μ μ© μ»¬λ μ
λ§μ½ λ°ννλ 컬λ μ
μ΄ ν¬μ§λ§ ννμ κ°κ²°νκ² ν μ μλ€λ©΄ μ μ© μ»¬λ μ
μ λ§λ€μ΄ λ°ννλ κ²λ μ’μ λ°©λ²μ΄λ€.
AbstractList
λ₯Ό μ΄μ©νμ¬ μ μ© μ»¬λ μ
μ λ§λ μμ μ½λλ λ€μκ³Ό κ°λ€.
λ©±μ§ν©μ ꡬν΄μΌνλ κ²½μ° νμ λͺ¨λ 컬λ μ μμλ₯Ό λ©λͺ¨λ¦¬μμ μ¬λ¦¬λ κ²λ³΄λ¨, νμν μμ μ μμλ₯Ό λ§λ€μ΄ λ°ννλ λ°©λ²μ μ¬μ©νκ³ μλ€.
κ²°λ‘
λͺ¨λ κ²½μ°μ 컬λ μ μ λ°ννλ κ²μ΄ μ΅μ μ μλμ§λ§, λ©μλλ₯Ό μ¬μ©νμ¬ λ°ν λ°μ ν΄λΌμ΄μΈνΈλ μ΄λ₯Ό μ΄λ€ λ°©μμΌλ‘ μ²λ¦¬ν μ§ λͺ¨λ₯Έλ€. λλ¬Έμ λλΆλΆμ κ²½μ°, μ€νΈλ¦Όκ³Ό λ°λ³΅μ λͺ¨λ μ¬μ©ν μ μλ Collection μΈν°νμ΄μ€λ₯Ό λ°ννλ κ²μ΄ μ’λ€.
Last updated
Was this helpful?