์คํธ๋ฆผ ์๋ฅด๊ธฐ : skip, limit
- ์คํธ๋ฆผ์ ์ผ๋ถ๋ฅผ ์๋ผ๋ผ ๋ ์ฌ์ฉํจ.
- skip( ): n๊ฐ ๊ฑด๋๋ฐ๊ธฐ
- limit( ): ์์๋ฅผ n๊ฐ๋ก ์ ํํ๊ธฐ
- ๊ธฐ๋ณธํ ์คํธ๋ฆผ์๋ ๊ฐ์ ๋ฉ์๋๊ฐ ์์.
์คํธ๋ฆผ์ ์์ ๊ฑธ๋ฌ๋ด๊ธฐ : distinct, filter
- distinct( ): ์ค๋ณต ์ ๊ฑฐ
- filter( ): ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง๋ ๊ฒ๋ง ๋จ๊น. ๋งค๊ฐ๋ณ์๋ก Predicate๊ฐ ํ์ํจ.
- ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ boolean์ธ ๋๋ค์๋ ๊ฐ๋ฅํจ. ๋ค๋ฅธ ์กฐ๊ฑด์ ๋งค๊ฐ๋ณ์๋ก ์ฌ๋ฌ๋ฒ ์ฌ์ฉํ ์ ์์. ex) ์คํธ๋ฆผ.filter(A).filter(B).filter(C)
์ ๋ ฌํ๊ธฐ : sorted, Comparator์ธํฐํ์ด์ค์ ๋ฉ์๋
- sorted( ): ์ง์ ๋ Comparator๋ก ์คํธ๋ฆผ์ ์ ๋ ฌํจ. Comparator๋์ int๊ฐ์ ๋ฐํํ๋ ๋๋ค์์ ์ฌ์ฉํ ์ ์์. Comparator์ง์ ํ์ง ์์ผ๋ฉด ์์์ ๊ฐ๋ณธ์ ๋ ฌ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํจ. ๋จ, ์์๊ฐ Comparable์ ๊ตฌํํ ํด๋์ค๊ฐ ์๋๋ฉด ์์ธ๋ฐ์.
- ์คํธ๋ฆผ์ ์์๊ฐ Comparable์ ๊ตฌํํ ๊ฒฝ์ฐ ๋งค๊ฐ๋ณ์๋ 1, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฌ๊ธฐ์ค์ ๋ฐ๋ก ์ง์ ํด์ค์ผํจ.
- ์ ๋ ฌ์กฐ๊ฑด์ ์ถ๊ฐํ ๋๋ thenComparing( )์ฌ์ฉํจ.
์กฐํํ๊ธฐ : peek
- peek( ): ์ฐ์ฐ๊ณผ ์ฐ์ฐ ์ฌ์ด์ ์ค๊ฐ์ ๊ฒ์ ์ฌ์ฉํจ.
- ์คํธ๋ฆผ ์์๋ฅผ ์๋ชจํ์ง ์์ผ๋ฏ๋ก ์ฐ์ฐ ์ฌ์ด์ ์ฌ๋ฌ๋ฒ ๋ผ์ ๋ฃ์ ์ ์์. filter( )์ด๋ map์ ๊ฒฐ๊ณผ ํ์ธ์ ์ ์ฉํจ.
๋ณํํ๊ธฐ : map
- ์คํธ๋ฆผ์ ์์ ์ค ์ํ๋ ํ๋๋ง ๋ฝ์๋ด๊ฑฐ๋, ํน์ ํํ๋ก ๋ณํํ ๋ ์ฌ์ฉํจ.
- map( ): ๋งค๊ฐ๋ณ์๋ก ์
๋ ฅTํ์
, ์ถ๋ ฅRํ์
์ผ๋ก ๋ณํํด์ ๋ฐํํ๋ ํจ์๋ฅผ ์ง์ ํจ.
- ex) ์คํธ๋ฆผ.map(File::getName);
- ํ๋์ ์คํธ๋ฆผ์ ์ฌ๋ฌ๋ฒ ์ ์ฉํ ์ ์์.
- ์คํธ๋ฆผ์ ์์๋ฅผ ์ซ์๋ก ๋ณํํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธํ ์คํธ๋ฆผ์ผ๋ก ๋ณํํ๋ ๊ฒ์ด ๋ ์ ์ฉํจ.
- mapToInt( ), mapToLong( ), mapToDouble( )
๋ณํํ๊ธฐ(2) : flatMap
- Stream< T[] >๋ฅผ Stream< T >๋ก ๋ณํํจ.
- ์คํธ๋ฆผ์ ์์๊ฐ ๋ฐฐ์ด์ด๊ฑฐ๋, map( )์ ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ๋ฐฐ์ด์ผ ๋ ์ฌ์ฉํจ.
- ์คํธ๋ฆผ์ ํ์ ์ด Stream< T[] >์ธ ๊ฒฝ์ฐ Stream< T >๋ก ๋ค๋ฃจ๋ ๊ฒ์ด ๋ ํธ๋ฆฌํ ๋๊ฐ ์์ด์ map( )๋์ flatMap( )์ ์ฌ์ฉํ ์ ์์.
- ์คํธ๋ฆผ์ ์์๋ก ํ๋ ์คํธ๋ฆผ์ ํ๋์ ์คํธ๋ฆผ์ผ๋ก ํฉ์น ๋๋ flatMap( )์ ์ฌ์ฉํจ.
๊ธฐ๋ณธํ ์คํธ๋ฆผ์ ์ซ์๋ฅผ ๋ค๋ฃจ๋๋ฐ ํธ๋ฆฌํ ๋ฉ์๋๋ค์ ์ ๊ณตํจ.
- sum( ), average( ), max( ), min( ),
- ๊ทธ๋ฌ๋ ์ด ๋ฉ์๋๋ค์ ์ต์ข ์ฐ์ฐ์ด์ด์ ํธ์ถ ํ์ ์คํธ๋ฆผ์ด ๋ซํ.
- sum( )๊ณผ average( )๊ฐ ํ์ํ๋ค๋ฉด summaryStastics( ).
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.14] Optional<T>์ OptionalInt (0) | 2023.11.20 |
---|---|
[ch.14] ์คํธ๋ฆผ์ ์ต์ข ์ฐ์ฐ (0) | 2023.11.15 |
[ch.14] ์คํธ๋ฆผ์ ์์ฑ (0) | 2023.11.15 |
[ch.14] ์คํธ๋ฆผ์ ํน์ง (0) | 2023.11.15 |
[ch.14] java.util.function ํจํค์ง (0) | 2023.11.15 |