PrimitiveIterator — 기본형 전문화 반복자

PrimitiveIterator — 기본형 전문화 반복자

PrimitiveIterator<T, T_CONS>Iterator의 기본형 전문화를 위한 기반 타입이에요. int, long, double 값에 대한 특수 서브타입이 제공돼요.

출처: Java API Reference

본문

public interface PrimitiveIterator<T, T_CONS> extends Iterator<T>

특화된 서브타입의 Iterator.next()Iterator.forEachRemaining(Consumer) 기본 구현은 기본형 값을 해당 래퍼 클래스 인스턴스로 박싱(boxing) 해요. 이러한 박싱은 기본형 전문화를 사용할 때의 장점을 상쇄할 수 있어요. 박싱을 피하려면 기본형 기반 메서드를 사용해야 해요. 예를 들어 PrimitiveIterator.OfInt.nextInt()PrimitiveIterator.OfInt.forEachRemaining(IntConsumer)OfInt.next()/forEachRemaining(Consumer)보다 우선 사용해요.

박싱 기반 메서드 next()forEachRemaining()으로 기본형 값을 순회해도 박싱된 값으로 변환된 순서에는 영향을 주지 않아요.

forEachRemaining

void forEachRemaining(T_CONS action)

남은 각 요소에 대해 동작을 수행해요. 모든 요소가 처리되거나 action이 예외를 던질 때까지 계속돼요. action이 던진 예외는 호출자에게 전달되요. action이 요소의 소스를 어떤 식으로든 수정하면 반복자 동작은 명시되지 않고, action이 예외를 던지면 이후 반복자 동작도 명시되지 않아요.

더 알아보기 (Learn more)