π₯οΈ λ°±μλ/Java
[ch.14] μ€νΈλ¦Όμ μμ±
OR15A
2023. 11. 15. 20:56
- μ€νΈλ¦ΌμΌλ‘ μμ νλ €λ©΄ μ€νΈλ¦Όμ΄ νμν¨.
- λ€μν μμ€λ‘λΆν° μ€νΈλ¦Όμ μμ±ν μ μμ.
컬λ μ : stream
- Collection μΈν°νμ΄μ€μ stream( ) μ μλμ΄μμ.
- List, Setμ ꡬνν ν΄λμ€λ€μ λͺ¨λ μ΄ λ©μλλ‘ μ€νΈλ¦Όμ μμ±ν μ μμ.
- stream( )λ©μλλ ν΄λΉ 컬λ μ μ μμ€λ‘ νλ μ€νΈλ¦Όμ λ°νν¨.
λ°°μ΄ : stream, of
- λ°°μ΄μ μμ€λ‘ νλ μ€νΈλ¦Όμ μμ±νλ λ©μλ
νΉμ λ²μμ μ μ : range, rangeClosed
- IntStream, Long Streamν΄λμ€λ μ§μ λ λ²μμ μ°μλ μ μλ₯Ό μ€νΈλ¦ΌμΌλ‘ μμ±ν΄μ λ°ννλ λ©μλλ₯Ό κ°μ§κ³ μμ.
- range( begin, end ), rangeClosed( begin, end )
λΉμ€νΈλ¦Ό : empty
- μ°μ°μ μνν κ²°κ³Όκ° μμ λ μμκ° 1κ°λ μλ λΉμ€νΈλ¦Όμ μμ±ν΄μ λ°νν μ μμ.
- nullλ³΄λ€ λΉμ€νΈλ¦Ό λ°νμ΄ λ λ«λ€.
- empty( )λ©μλ μ¬μ©ν¨.
- count( )κ°μ 0.
λ μ€νΈλ¦Όμ μ°κ²° : concat
- Streamμ staticλ©μλμΈ concat( )μ μ¬μ©νλ©΄ λ μ€νΈλ¦Όμ νλλ‘ μ°κ²°ν μ μμ
- (λ μ€νΈλ¦Όμ μμκ° κ°μ νμ μ΄λΌλ μ μ νμ κ°λ₯ν¨)
μμμ μ : ints, longs, doubles
- β Randomν΄λμ€μ μΈμ€ν΄μ€ λ©μλλ ν΄λΉ νμ
μ λμλ‘ μ΄λ£¨μ΄μ§ μ€νΈμμ λ°νν¨.
- β³ ints( ), longs( ), doubles( ) : λ°νμ€νΈλ¦Όμ 무νμ€νΈλ¦Όμ( limit( )νμν¨ )
- β‘맀κ°λ³μλ‘ μ€νΈλ¦Όμ¬μ΄μ¦λ₯Ό μ§μ ν΄μ£Όλ©΄ μ νμ€νΈλ¦Όμ μμ±ν΄μ λ°νν¨.
- β³ int( long streamSize )
- β’맀κ°λ³μλ‘ λ²μλ₯Ό μ§μ νμ¬ λμλ₯Ό μ»μ μ μμ.
- β³ int ( int begin, int end )
- β‘+β’=int ( long streamSize, int begin, int end ) :IntStreamμ λ°νν¨.
λλ€μ : iterate, generate
- StreamμΈν°νμ΄μ€μ staticλ©μλ iterate( s, r ) / generate( r )
- λλ€μμ 맀κ°λ³μλ‘ λ°μμ λλ€μμ μν΄ κ³μ°λλ κ°λ€μ μμλ‘ νλ 무νμ€νΈλ¦Όμ μμ±ν¨.
- iterateμ generateλ‘ μμ±λ μ€νΈλ¦Όμ κΈ°λ³Ένμ€νΈλ¦Ό νμ μ μ°Έμ‘°λ³μλ‘ λ€λ£° μμμ.
νμΌ : list, lines, line
- java.nio.file.filesλ νμΌμ λ€λ£¨λλ° μ μ©ν λ©μλλ€μ μ 곡ν¨.
- list( Path dir ): μ§μ λλλ ν 리μ μλ νμΌλͺ©λ‘μ μμ€λ‘νλ μ€νΈλ¦Όμμ±
- File.lines( Path path ): λ€λ₯Έ μ λ ₯ λμμΌλ‘λΆν° λ°μ΄ν°λ₯Ό νλ¨μλ‘ μ½μ
- BufferdReaderν΄λμ€μ line( )λ©μλλ κ°μ κΈ°λ₯μ ν¨.