[ μλ° Iterator ]
- μλ° μ»¬λ μ νλ μμν¬(JCF)λ μ μ₯λ μμλ₯Ό μ½μ΄μ€κΈ° μν΄
Iterator<E> μΈν°νμ΄μ€ μ¬μ©μ νμ€νλ‘ μ 곡νκ³ μμ
- Collection μΈν°νμ΄μ€λ₯Ό μμλ°λ Listμ Set μΈν°νμ΄μ€λ Iterator μΈν°νμ΄μ€λ₯Ό ꡬνν
ν΄λμ€μ κ°μ²΄λ₯Ό λ°ννλ iterator() λ©μλλ₯Ό ν΅ν΄ κ° μμμ μ κ·Ό κ°λ₯

γ Iterator λ©μλ γ

// -- Set<E> Interface --
Set <String> set = new HashSet <String>();
set.add("1");
set.add("2");
set.add("3");
System.out.println("== [Set μΈν°νμ΄μ€] HashSet κ°μ²΄ -> Iterator μΆλ ₯ ==");
Iterator <String> iter = set.iterator();
while(iter.hasNext()) {
System.out.print(iter.next() + " ");
}
/* [μΆλ ₯κ²°κ³Ό]
== [Set μΈν°νμ΄μ€] HashSet κ°μ²΄ -> Iterator κ°μ²΄ μΆλ ₯ ==
1 2 3
*/
[ μλ° ListIterator ]
- ListIterator<E> μΈν°νμ΄μ€λ Iterator μΈν°νμ΄μ€λ₯Ό μμλ°μ κΈ°λ₯μ μΆκ°ν μΈν°νμ΄μ€
- κΈ°μ‘΄ Iterator μΈν°νμ΄μ€λ 컬λ μ μμ μ κ·Ό μ ν λ°©ν₯μΌλ‘λ§ κ°λ₯νμ.
- ListIteratorλ 컬λ μ μμ λ체, μΆκ°, μΈλ±μ€ κ²μ λ±μ μν μμ μμ μλ°©ν₯ μ΄λ μ§μ
- List μΈν°νμ΄μ€λ₯Ό ꡬνν List 컬λ μ ν΄λμ€μμλ§ μ¬μ© κ°λ₯
γ ListIterator λ©μλ γ

// -- List<E> Interface --
List <String> list = new ArrayList <String>();
list.add("1");
list.add("2");
list.add("3");
System.out.println("== [List μΈν°νμ΄μ€] ArrayList κ°μ²΄ ListIterator μΆλ ₯ ==");
ListIterator <String> iter = list.listIterator();
while(iter.hasNext()) {
System.out.print(iter.next() + " ");
}
while(iter.hasPrevious()) { // μμ μΆλ ₯
System.out.print(iter.previous() + " ");
}
/* [μΆλ ₯κ²°κ³Ό]
== [List μΈν°νμ΄μ€] ArrayList κ°μ²΄ ListIterator μΆλ ₯ ==
1 2 3 3 2 1
*/