어떤 연결리스트를 순회하는 상황을 가정해보자.

 

 

사용자가 순회를 할 때, 다음 노드로 이동하기 위해서는 반드시 그 이전 노드에 대한 주소를 가지고 있어야 한다.

하지만, 어떤 노드의 주소를 직접 사용자에게 줄 수 없다면?

이때 등장하는 것이 Iterator!!

 

Iterator 클래스의 객체에는

필요한 그 주소를 private 멤버로 가지고 있으면서, 그 노드의 데이터를 반환하고 자신은 한칸 전진하는 등의 메서드를 포함하고 있다. 사용자는 각 노드의 주소를 알지는 못하지만, Iterator 객체를 이용해서 연결리스트를 순회할 수 있다. 

 

 

연결리스트에서의 Iterator에 대해 좀 더 자세히 살펴보자.

 

이를 적용하면, 아래와 같이 사용할 수 있다.

 

 

 

 

 

 

+ Recent posts