- API ๊ธฐ์ค์์, ํธ์ถ์๊ฐ ์๋ํ ๋์๊ณผ ๊ด๋ จ๋ ์๋ ์ ์์ค ์์ธ๋ฅผ ๋ฐ์ผ๋ฉด ์์ธ์ ๋ฐ์ ์์ธ ์ถ์ ์ ์ด๋ ต๊ฒ ํจ
- ๋ํ, API์ ๋ด๋ถ ๊ตฌํ๊ณผ ์ฎ์ฌ ์์ด ๋ด๋ถ ๊ตฌํ ๋ณ๊ฒฝ์ ์ํด ๋ค๋ฅธ ์์ธ๊ฐ ๋์ ธ์ง ์ ์์ผ๋ฉฐ ์ด ๊ฒฝ์ฐ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ ์ธก์๋ ๊ตฌํ ๋ณ๊ฒฝ์ด ํ์ํด์ง ์ ์์
- ์ด ๊ฒฝ์ฐ
์์ ๊ณ์ธต์์ ์ ์์ค ์์ธ๋ฅผ ์ก์ ๊ณ ์์ค(High-Level) ์์ธ๋ก ๋ณํํ์ฌ ๋ค์ ๋์ง๋ ์์ธ ๋ฒ์ญ
์ ์ด์ฉํ ์ ์์
public E get(int index) {
ListIterator<E> i = listIterator(index);
try {
return i.next();
} catch (NoSuchElementException e) {
throw new IndexOutOfBoundsException("์ธ๋ฑ์ค: " + index);
}
}
- ์์ ๊ฐ์ด ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ์์ ๊บผ๋ด ๋ฐํํ๋ ๋ฉ์๋๊ฐ ์กด์ฌ
- ๋ด๋ถ ๊ตฌํ์์ Iterator๋ฅผ ์ด์ฉํ๊ณ ์๋ค๋ฉด, ๋ฆฌ์คํธ ์ฌ์ด์ฆ๋ณด๋ค ํฐ ์ธ๋ฑ์ค๊ฐ ์ธ์๋ก ๋ค์ด์์ ๋ next()๋ฅผ ํธ์ถํ๋ ์์ ์
NoSuchElementException
์์ธ๊ฐ ๋ฐ์ - ์ฌ์ฉ์๋ ์ด ์์ธ๋ฅผ ๋ฐ์ผ๋ฉด ๋ฌด์จ ์์๊ฐ ์๋ค๋ ๊ฑด์ง ํผ๋์ค๋ฌ์ธ ์ ์์
- ๋ํ, ๋์ ธ์ง๋ ์์ธ๋ ๋ด๋ถ ๊ตฌํ์ด Iterator๊ฐ ์๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ๋๋ฉด ๋ค๋ฅธ ์์ธ๊ฐ ๋ ์ ์์
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ
๋ด๋ถ ๊ตฌํ๊ณผ ๊ด๊ณ ์์ด
,์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก
์์ธ๋ฅผ ๋ณ๊ฒฝํด ๋์ง๋ ๊ฒ
- ์ ์์ค ์์ธ๋ฅผ ๊ทธ๋๋ก ๋์ง๋ ๊ฒ๋ณด๋ค ์ข์ ๋ฐฉ๋ฒ์์ ๋ถ๋ช ํ์ง๋ง, ์ฝ๋ ๊ฐ๋ ์ฑ์ ์ ํ์ํค๊ณ ๊ตฌํ ๋ณต์ก๋๋ฅผ ์ฆ๊ฐ์ํค๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์์ ์ ์์
- ๊ฐ์ฅ ์ข์ ํด๊ฒฐ๋ฒ์
์ ์์ค ๋ฉ์๋๊ฐ ๋ฐ๋์ ์ฑ๊ณตํ๋๋ก ํ๋ ๊ฒ
- ์ด๋ฅผ ์ํด ๋ค์์ ์๋ํ ์ ์์
- ์์ ๊ณ์ธต์์ ๋ฏธ๋ฆฌ ์ธ์๊ฐ์ ๊ฒ์ฌํ์ฌ ํ์ ๊ณ์ธต์์ ์์ธ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ๊ธฐ
- ์์ ๊ณ์ธต์์ ์์ธ๋ฅผ ์กฐ์ฉํ ์ฑ์นํ์ฌ API ํธ์ถ์์๊ฒ๊น์ง ์ ํํ์ง ์๊ธฐ
- ์ด ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฌธ์ ๋ฅผ ์ ํํ์ง๋ ์์ง๋ง, ์ ์ ํ ๋ก๊น ๋ฑ์ ํตํด ์์ธ๋ฅผ ์ธ์งํ๊ณ ๋ถ์ํ์ฌ ์กฐ์น๋ฅผ ์ทจํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ข์