์คํธ๋ฆผ (Stream)
์ ์
๋ค์ํ ๋ฐ์ดํฐ ์์ค(์ปฌ๋ ์ , ๋ฐฐ์ด ๋ฑ)๋ฅผ ํ์คํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ํ ๊ฒ (Like Iterator)
์ผ๋จ Stream์ผ๋ก ๋ง๋ค๊ณ ๋๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ ์์ค์ ๊ฐ์ ๋ฐฉ์์ผ๋ก(์ผ๊ด์ ์ผ๋ก) ๋ก์ง์ ์ ์ฉํ ์ ์๋ค.
๊ธฐ๋ฅ (์ค๊ฐ ์ฐ์ฐ๊ณผ ์ต์ข
์ฐ์ฐ)
์ค๊ฐ ์ฐ์ฐ
์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ Stream์ธ ์ฐ์ฐ
์ฌ๋ฌ ๋ฒ ์ ์ฉ ๊ฐ๋ฅ
์ต์ข ์ฐ์ฐ
์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ Stream์ด ์๋ ์ฐ์ฐ
void์ด๊ฑฐ๋, List๋ฅผ ๋ฐํํ๊ฑฐ๋ ๋ฑ๋ฑ
โญ Stream์ ์์๋ฅผ
์๋น
ํ๊ธฐ ๋๋ฌธ์, ๋จ ํ ๋ฒ๋ง ์ ์ฉ ๊ฐ๋ฅLike Iterator
ํน์ง
์๋ณธ์ ๋ณ๊ฒฝํ์ง ์๊ณ , ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐํ (read-only)
Stream ์์ฒด๋ ์ต์ข ์ฐ์ฐ์ ์ํด ๋ณ๋ ๊ฐ๋ฅ
Iterator์ฒ๋ผ ๋์
์ต์ข ์ฐ์ฐ ์ ๊น์ง ์ค๊ฐ ์ฐ์ฐ์ด ์ํ๋์ง ์์
๋ฉํฐ์ฐ๋ ๋๋ฅผ ํตํ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ - ํฐ ์์ (๋น ๋ฐ์ดํฐ) ์ฒ๋ฆฌ์ ์ฉ์ด
๊ธฐ๋ณธํ ์คํธ๋ฆผ์ ์ง์ํ์ฌ ์คํ ๋ฐ์ฑ/์ธ๋ฐ์ฑ ๋นํจ์จ ์ ๊ฑฐ
Stream ๋์ IntStream
IntStream
,LongStream
,DoubleStream
๋ฑ Primitive Type์ ๋ํ Stream ์ง์๊ธฐ๋ณธํ ์คํธ๋ฆผ์ ์ซ์์ ๊ด๋ จ๋ ๋ฉ์๋๋ค์ ์ผ๋ฐ Stream๋ณด๋ค ๋ ๋ง์ด ์ ๊ณต (sum, count, average ๋ฑ)
์คํธ๋ฆผ ์์ฑ
Collection
stream() ๋ฉ์๋๋ฅผ ์ด์ฉ
Array
of ๋ฉ์๋ ์ด์ฉํ๊ฑฐ๋ Arrays์ stream ๋ฉ์๋ ์ด์ฉ
๋์ ์คํธ๋ฆผ
๊ธฐ๋ณธํ ์๋ฃํ์ ๋ฌดํ/์ ํ ๊ฐ ๋์๋ฅผ ํฌํจ
Random ์ธ์คํด์ค์ ๋ฉ์๋๋ฅผ ์ด์ฉ
์ ์ ์คํธ๋ฆผ
๊ธฐ๋ณธํ ์๋ฃํ์ ํน์ ๋ฒ์ ์ ์๋ฅผ ํฌํจ
๊ฐ ๊ธฐ๋ณธํ ์คํธ๋ฆผ์
range
๋ฉ์๋๋ฅผ ์ด์ฉ๋ฒ์๋ begin โค element < end
end๋ฅผ ํฌํจํ๊ณ ์ถ๋ค๋ฉด
rangeClosed
๋ฅผ ์ฌ์ฉ
๋๋ค์ ์คํธ๋ฆผ
๋๋ค์์ ๊ฒฐ๊ณผ๊ฐ์ ์์๋ก ํฌํจ
๋ฌดํ ์คํธ๋ฆผ (limit์ ํตํด ์๋ผ ์ฌ์ฉํด์ผ ํจ)
iterate
์ด์ ์์๋ฅผ seed๋ก ๋ค์ ์์๋ฅผ ๊ณ์ฐ
generate
์ฃผ์ด์ง ๋๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ์์๋ฅผ ํฌํจ
ํ์ผ ์คํธ๋ฆผ
ํ์ผ์ ์์๋ก ํฌํจ
ํ์ผ ์์ฒด๋ฅผ ์์๋ก ํฌํจ
ํ์ผ ๋ด์ฉ์ ๋ผ์ธ ๋จ์๋ก ์์๋ก ํฌํจ
Last updated