์ปฌ๋ ์ ํ๋ ์์ํฌ์์๋ ์ปฌ๋ ์ ์ ์ ์ฅ๋ ์์๋ค์ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ์ ํ์คํํ์๋ค. Iterator์ธํฐํ์ด์ค๋ ์ปฌ๋ ์ ์ ์ ์ฅ๋ ์์์ ์ ๊ทผํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ก๋ค.
iterator() <- ์ด ์น๊ตฌ๋ Iterator๋ฅผ ๋ฐํํจ. ๋ Collection์ธํฐํ์ด์ค์ ์ ์๋ ๋ฉ์๋์ด๋ฏ๋ก, Collection์ ์์์ธ List์ Set์๋ ์ ์๋์ด ์๋ค. ํ์ง๋ง, Map์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ปฌ๋ ์ ์๋ key์ value๋ฅผ ์์ผ๋ก ์ด๋ค์ ธ์๊ธฐ ๋๋ฌธ์, iterator()๋ฅผ ์ง์ ํธ์ถํ ์ ์๋ค. ๊ทธ๋์ ํธ์ถํ๊ธฐ ์ํด์๋ keySet()์ด๋ entrySet()๊ณผ ๊ฐ์ ๋ฉ์๋๋ฅผ ํตํด์ ์ฌ์ฉํด์ผ๋๋ค.
์ฌ๊ธฐ์ Iterator๋ List์ Set์ ํน์ง์ ๊ทธ๋๋ก ๋ฐ๋๋ค. ๊ทธ๋์ Listํด๋์ค๋ค์ ์ฝ์ด์ฌ ๋๋ ์ ์ฅ์์๋ฅผ ์ ์งํ๋ฉด์ ์ฝ์ด์ค์ง๋ง, Set์ ์ ์ฅ ์์๋ฅผ ๊ทธ๋๋ก ์ฝ์ง ์๋๋ค.
List list = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
Enumeration์ Iterator์ ๊ตฌ๋ฒ์ ผ, ์ด์ ๋ฒ์ ผ์ผ๋ก ์์ฑ๋ ๊ฒ๋ค๊ณผ์ ํธํ์ ์ํด ๋จ๊ฒจ๋์๋ค. ์ด๊ฑฐ ๋ง๊ณ Iterator๋ฅผ ์ฐ์!!
ListIterator Iterator์ ์๋ฐฉํฅ ์กฐํ๊ธฐ๋ฅ ์ถ๊ฐ ํ์ง๋ง, List๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด๋ค๋ง ์ฌ์ฉ๊ฐ๋ฅ!!
List list = new ArrayList();
ListIterator it = list.listIterator();
while(it.hasPrevious()){
System.out.println(it.previous());
}