Java

[Effective Java] ์•„์ดํ…œ 58. ์ „ํ†ต์ ์ธ for ๋ฌธ๋ณด๋‹ค๋Š” for-each ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ผ.

quedevel 2023. 3. 26. 12:25
728x90
๋ฐ˜์‘ํ˜•

๐ŸŽฏ ์•„์ดํ…œ 58. ์ „ํ†ต์ ์ธ for ๋ฌธ๋ณด๋‹ค๋Š” for-each ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ผ.

์ „ํ†ต์ ์ธ for๋ฌธ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ for-each๋ฌธ์€ ๋ช…๋ฃŒํ•˜๊ณ , ์œ ์—ฐํ•˜๊ณ , ๋ฒ„๊ทธ๋ฅผ ์˜ˆ๋ฐฉํ•ด์ค€๋‹ค. ์„ฑ๋Šฅ ์ €ํ•˜๋„ ์—†๋‹ค. ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ณณ์—์„œ for๋ฌธ์ด ์•„๋‹Œ for-each๋ฌธ์„ ์‚ฌ์šฉํ•˜์ž.


ํ•˜์ง€๋งŒ ์•ˆํƒ€๊น๊ฒŒ๋„ for-each๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ์„ธ ๊ฐ€์ง€ ์กด์žฌํ•œ๋‹ค.

1๏ธโƒฃ ํŒŒ๊ดด์ ์ธ ํ•„ํ„ฐ๋ง

์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์„ ํƒ๋œ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋ฐ˜๋ณต์ž์˜ remove ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผํ•œ๋‹ค. ์ž๋ฐ”8๋ถ€ํ„ฐ๋Š” Collection์˜ removeIf ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ปฌ๋ ‰์…˜์„ ๋ช…์‹œ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋Š” ์ผ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.


2๏ธโƒฃ ๋ณ€ํ˜•

๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ทธ ์›์†Œ์˜ ๊ฐ’ ์ผ๋ถ€ ํ˜น์€ ์ „์ฒด๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ˜๋ณต์ž๋‚˜ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.


3๏ธโƒฃ ๋ณ‘๋ ฌ ๋ฐ˜๋ณต

์—ฌ๋Ÿฌ ์ปฌ๋ ‰์…˜์„ ๋ณ‘๋ ฌ๋กœ ์ˆœํšŒํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ฐ๊ฐ์˜ ๋ฐ˜๋ณต์ž์™€ ์ธ๋ฑ์Šค ๋ณ„์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์—„๊ฒฉํ•˜๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ์ œ์–ดํ•ด์•ผ ํ•œ๋‹ค.


์ฐธ๊ณ  ์ž๋ฃŒ

Joshua Bloch, ใ€ŽEffective Java 3/Eใ€, ๊ฐœ์•ž๋งต์‹œ ์˜ฎ๊น€, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ธ์‚ฌ์ดํŠธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=

728x90
๋ฐ˜์‘ํ˜•