Stream API
Steam API๋?
๋ฐ์ดํฐ๋ฅผ ์ถ์ํํ์ฌ ๋ค๋ค์, ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๊ธฐ์ํ ๊ณตํต๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค
Steam API๋ฅผ ์ด์ฉํ๋ฉด, ๋ฐฐ์ด์ด๋ Collection ๋ฟ๋ง ์๋๋ผ ํ์ผ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ค๋ฃฐ ์ ์๋ค
๋ฐฐ์ด, ๋ฆฌ์คํธ ๋ฑ ์ปฌ๋ ์ ์ ์ ์ฅ ์์๋ฅผ ํ๋์ฉ ์ฐธ์กฐํด์ ๋๋ค์์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค
Collection ๋ด๋ถ์ ๋ฐ์ดํฐ ์ ๋ ฌ, ํํฐ๋ง, ์ค๋ณต ์ ๊ฑฐ ๋ฑ์ ๊ตฌํ ์ ํ์ํ๋ค
Stream์ ํน์ง
Stream์ ์ธ๋ถ ๋ฐ๋ณต์ ํตํด ์์ ํ๋ ์ปฌ๋ ์ ๊ณผ ๋ฌ๋ฆฌ,
๋ด๋ถ ๋ฐ๋ณต (internal iteration)
์ ํตํด ์์ ์ ์ํํ๋คStream์
์ผํ์ฉ
์ด๋คStream์ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ Collection๊ณผ๋ ๋ฌ๋ฆฌ, ํ ๋ฒ ์ฌ์ฉํ๋ฉด ๋ซํ์ ์ฌ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค
ํ์ํ๋ค๋ฉด ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ Collection์ด๋ ๋ฐฐ์ด์ ๋ด์์ return ํ ์ ์๋ค
Stream์
์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค
Stream์ ์๋ณธ ๋ฐ์ดํฐ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ๋ง ํ ๋ฟ, ์๋ณธ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค
Stream ์ฐ์ฐ์
ํํฐ-๋งต (filter-map)
๊ธฐ๋ฐ์ API๋ฅผ ์ฌ์ฉํ์ฌ์ง์ฐ (lazy) ์ฐ์ฐ
์ ํตํด ์ฑ๋ฅ์ ์ต์ ํํ๋คStream์
parallelStream()
method๋ฅผ ํตํ์์ฌ์ด ๋ณ๋ ฌ์ฒ๋ฆฌ
๋ฅผ ์ง์ํ๋คStream์ ์์ ์ ๋ด๋ถ ๋ฐ๋ณต์ผ๋ก ์ฒ๋ฆฌํ๋ค
Stream์ ์ด์ฉํ ์์ ์ด ๊ฐ๊ฒฐํ ์ ์๋ ๋น๊ฒฐ์ค ํ๋๊ฐ ๋ฐ๋ก ๋ด๋ถ ๋ฐ๋ณต์ด๋ค
๋ด๋ถ ๋ฐ๋ณต์ด๋ผ๋ ๊ฒ์ ๋ฐ๋ณต๋ฌธ์ method์ ๋ด๋ถ์ ์จ๊ธธ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค
๋ฐ๋ณต๋ฌธ์ด ์ฝ๋์์ ๋ ธ์ถ๋์ง ์๋๋ค
Stream API์ ๋์ ํ๋ฆ
Stream์ ์์ฑ
Stream์ ์ค๊ฐ ์ฐ์ฐ (Stream์ ๋ณํ)
Stream์ ์ต์ข ์ฐ์ฐ (Stream์ ์ฌ์ฉ)
Last updated