ํ™ˆ์œ ํŠœ๋ธŒ๋ธ”๋กœ๊ทธTop 10
๋‚ด ํ”„๋กœํ•„

๋ฐ๋ธŒํ—ˆ๋ธŒ ์•ˆ๋‚ด
์†Œ๊ฐœ์—…๋ฐ์ดํŠธ ์†Œ์‹

๋ฐ๋ธŒํ—ˆ๋ธŒ ์ปค๋ฎค๋‹ˆํ‹ฐ

Java Stream Gatherers Explained ๐Ÿš€ | The Next Evolution of Streams @Javatechie

Java Techie

2025. 9. 20.

0ํšŒ

#backend
  • Java 8 ์ŠคํŠธ๋ฆผ API๋Š” ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, ์žฌ์‚ฌ์šฉ์„ฑ ๋ฐ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ํ•œ๊ณ„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ’ก
  • Gatherers๋Š” JDK 24์—์„œ ๋„์ž…๋˜์–ด ์ŠคํŠธ๋ฆผ API์˜ ์ค‘๊ฐ„ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. โœจ
  • gatherers.fold๋Š” ์ŠคํŠธ๋ฆผ์˜ ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋กœ ์ถ•์†Œํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿงฝ
  • gatherers.scan์€ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ์ค‘ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ๋ˆ„์ ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ์–ด ์‹คํ–‰ ์ž”์•ก ์ถ”์  ๋“ฑ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ
  • gatherers.windowFixed๋Š” ์ŠคํŠธ๋ฆผ์„ ๊ณ ์ • ํฌ๊ธฐ ๋ฐฐ์น˜๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ“ฆ
  • gatherers.windowSliding์€ ๊ฒน์น˜๋Š” ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ตœ๊ทผ ์ด๋ ฅ์ด ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๐ŸชŸ
  • gatherers.mapConcurrent๋Š” ๋งคํ•‘ ํ•จ์ˆ˜๋ฅผ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜์—ฌ I/O ๋ฐ”์šด๋“œ ์ž‘์—…์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๐Ÿš€
  • Gatherers๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ •์˜ ์ค‘๊ฐ„ ์—ฐ์‚ฐ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ฝ”๋“œ ์ค‘๋ณต์„ ์ค„์ด๊ณ  ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ› ๏ธ
  • Gatherers๋Š” ์ŠคํŠธ๋ฆผ API์˜ ์œ ์—ฐ์„ฑ์„ ํ™•์žฅํ•˜์—ฌ ๋” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿงฐ
  • Gatherers๋Š” Java ์ŠคํŠธ๋ฆผ API์˜ ์ง„ํ™”๋œ ํ˜•ํƒœ๋กœ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋” ํšจ์œจ์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿงฌ

Recommanded Videos