Java ๐Ÿ‘ป/Java Stream 2

Stream API

1) ๊ฐœ์š” -> Collection ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ๋‚ด๋ถ€ ๋ฐ˜๋ณต์ž๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ API ๋‚ด๋ถ€ ๋ฐ˜๋ณต์ž๋ฅผ ์ด์šฉํ•ด์„œ ์ ‘๊ทผํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ ๋น ๋ฅธ ์—ด๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -> How ๋ณด๋‹ค What -> ์ž‘์—…์˜ ๊ณผ์ • ์ƒ์„ฑ -> ์ค‘๊ฐ„์ž‘์—… -> ์ตœ์ข…์ž‘์—… ์ƒ์„ฑ : ๋ฐฐ์—ด์˜ List๋ฅผ ๊ฐ€์ง€๊ณ  ์ˆ˜ํ–‰ ์ค‘๊ฐ„์ž‘์—… : ์ŠคํŠธ๋ฆผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์„œ ๋‹ค์‹œ ์ŠคํŠธ๋ฆผ์„ ๋ฆฌํ„ดํ•˜๊ธฐ ๋•Œ๋ฌด์— ๋‹ค๋ฅธ ์ค‘๊ฐ„์ž‘์—…์„ ์—ฐ์†ํ•ด์„œ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ข…์ž‘์—… : 1๋ฒˆ๋งŒ ์ˆ˜ํ–‰๊ฐ€๋Šฅ, ์ง‘๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜๋‚˜ forEach์ฒ˜๋Ÿผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉด์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜ ๋˜๋Š” collect์ฒ˜๋Ÿผ ๋ฐฐ์—ด์ด๋‚˜ List๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. package com.adamsoft.stream; impo..

Stream

๊ฐœ์š”) -> ์ž…์ถœ๋ ฅํ• ๋•Œ์˜ ์ŠคํŠธ๋ฆผ์ด ์žˆ๊ณ  ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ์—์„œ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ŠคํŠธ๋ฆผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. -> ์ž…์ถœ๋ ฅ์—์„œ์˜ ์ŠคํŠธ๋ฆผ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์šด๋ฐ˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐํ†ต๋กœ ๋ถ„๋ฅ˜) -> ์ž…๋ ฅ์ŠคํŠธ๋ฆผ๊ณผ ์ถœ๋ ฅ์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ตฌ๋ถ„ -> ๋ฐ”์ดํŠธ์ŠคํŠธ๋ฆผ๊ณผ ๋ฌธ์ž์ŠคํŠธ๋ฆผ์œผ๋กœ ๊ตฌ๋ถ„ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ์ฒ˜๋ฆฌ๋Š” ๋ฐ”์ดํŠธ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ž๋ฅผ ์ฝ๊ณ ์“ฐ๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฌธ์ž์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ• ๋•Œ๋Š” ์ธ์ฝ”๋”ฉ์— ์ฃผ์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ์ด๋ž€?) Encoding ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ €์žฅ๋˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ”๊ฟ”์ง€๋Š”๊ฒƒ ๋””์ฝ”๋”ฉ์ด๋ž€?) Decoding ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ฒƒ (์ฝ๊ธฐ์œ„ํ•ด์„œ) ์ฝ”๋ฑ - ByteStream 1)InputStream ๊ณผ OutputStream -> ๋ฐ”์ดํŠธ์ŠคํŠธ๋ฆผ๊ณผ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค๋กœ ์ถ”์ƒํด๋ž˜์Šค (๊ฐ์ฒด์ƒ์„ฑ๋ชปํ•จ) -> ..

728x90