JAVA

[java] Iterator - hasNext()와 next()의 동작

EunaSon 2023. 7. 8. 18:22

Iterator 인스턴스인 it에서

0. it의 cursor는 초기에 인덱스 0을 가리키고 있음

1. while(it.hasNext())로 cursor가 요소 끝으로 이동할 때까지(=null을 가리켜 false를 반환할 때까지) 반복함

2. 반복문에서 next()가 실행되면 cursor로 가리키고 있던 값을 lastRet 변수가 가리키게 하고 cursor는 다음 요소를 가리킴, 이후 lastRet이 가리키는 값을 반환함 => 간단하게 표현하자면, next()는 현재 값을 출력하고 다음 요소로 이동한다고 볼 수 있다

3. cursor가 it의 size(n이라 하자)와 같은 인덱스 [n]을 가리키게 되면 it.hasNext()는 false를 반환하게 되며 반복문이 종료된다