collect
์ for-comprehension
์ Scala์์ ๊ฐ๊ฐ์ ์ฉ๋์ ํน์ฑ์ ๋ฐ๋ผ ์ฌ์ฉ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋น๋๋ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์ด๋ค ํํ์ด ๋ ๋ง์ด ์ฌ์ฉ๋๋์ง๋ ์์
์ ๋ชฉ์ , ์ฝ๋ ๊ฐ๋
์ฑ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์์ ์ ํธ๋์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
collect
์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋กfilter
์ map
์ ๊ฒฐํฉํ ๊ธฐ๋ฅ์ผ๋ก ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง.val data = List(1, 2, 3, 4, 5)
// ์กฐ๊ฑด ๊ธฐ๋ฐ ํํฐ๋ง ๋ฐ ๋ณํ
val result = data.collect { case x if x % 2 == 0 => x * 10 }
println(result) // List(20, 40)
collect
๋ **"์กฐ๊ฑด์ด ๋ช
ํํ๊ณ ๊ฐ๋จํ ๋ฐ์ดํฐ ๋ณํ"**์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
for-comprehension
์ ์ฃผ์ ์ฌ์ฉ ์ฌ๋กfilter
, map
, flatMap
์ ์กฐํฉ์ผ๋ก ๋์.