Java. Iterator ์•Œ์•„๋ณด๊ธฐ

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐ŸŒŸ Iterator๋ž€?

์ปฌ๋ ‰์…˜์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐ˜๋ณต์ž๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, ํ•œ ๋ฐ˜ํ–ฅ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค. ์ค‘๊ฐ„์— ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ , ์‚ญ์ œํ•˜๋Š” ๊ฑด ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์„ ๋•Œ ์†๋„๊ฐ€ ๋А๋ ค์ง!

๐ŸŒŸ ์‚ฌ์šฉ๋ฒ•

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(10);
list.add(20);
list.add(30);

Iterator<Integer> iter = list.iterator();

while(iter.hasNext()){
    System.out.println(iter.next());
    iter.remove();
}

hasNext๋Š” ๋‹ค์Œ ๊ฐ’์ด ๋“ค์–ด ์žˆ๋Š”์ง€ bool๋กœ ๋ฐ˜ํ™˜ํ•˜๊ณ , next ๋‹ค์Œ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  remove๋Š” next๋ฅผ ํ•ด์„œ ๊ฐ€์ ธ์˜จ ๊ฐ’์„ ํ•ด๋‹น ๋ฐฐ์—ด์—์„œ ์‚ญ์ œํ•œ๋‹ค.

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ