
	                	                 
CachingIterator::hasNext 메서드는 Iterator 인터페이스의 hasNext 메서드와 유사하게 작동합니다. 그러나 CachingIterator는 이전에 접근한 Iterator의 결과를 캐싱하여, 다음에 접근할 때 캐시된 결과를 반환합니다. 
이 메서드는 Iterator가 다음 요소를 반환할 수 있는지 여부를 확인합니다. 만약 Iterator가 더 이상 요소를 반환할 수 없다면 false를 반환합니다. 
사용 예시를 들어보겠습니다.
#hostingforum.kr
java
import java.util.Iterator;
import java.util.NoSuchElementException;
public class CachingIterator implements Iterator {
    private String[] array = {"apple", "banana", "cherry"};
    private int index = 0;
    @Override
    public boolean hasNext() {
        return index < array.length;
    }
    @Override
    public String next() {
        if (hasNext()) {
            return array[index++];
        } else {
            throw new NoSuchElementException();
        }
    }
    public static void main(String[] args) {
        CachingIterator iterator = new CachingIterator();
        System.out.println(iterator.hasNext());  // true
        System.out.println(iterator.next());     // apple
        System.out.println(iterator.hasNext());  // true
        System.out.println(iterator.next());     // banana
        System.out.println(iterator.hasNext());  // true
        System.out.println(iterator.next());     // cherry
        System.out.println(iterator.hasNext());  // false
    }
}
위의 예시에서 CachingIterator는 hasNext 메서드를 사용하여 Iterator가 다음 요소를 반환할 수 있는지 여부를 확인합니다. hasNext 메서드는 캐시된 결과를 사용하여 Iterator가 다음 요소를 반환할 수 있는지 여부를 확인합니다.
2025-05-16 23:17