한 걸음 두 걸음

자바 JAVA ] 반복자 iterator 사용하기 본문

Language/Java

자바 JAVA ] 반복자 iterator 사용하기

언제나 변함없이 2019. 11. 22. 13:23
반응형

Collection을 사용하다보면 데이터 접근하기 위해 반복자를 사용하게 됩니다.

Iterator인터페이스

java.util의 Iterator인터페이스엔 hasNext(), next(), remove() 추상메소드가 정의되어 있는데

  1. hasNext()는 아직 검사하지 않은 원소가 남아있으면 true를 반환합니다.

  2. next()는 다음 원소로 이동하여 해당 원소를 반환합니다.

  3. remove()는 최근에 반환한 마지막 원소를 삭제합니다,

  4. default void forEachRemaining(Consumer<? super E> action)
    모든 요소가 처리되거나 작업에서 예외가 발생할 때까지 나머지 각 요소에 대해 지정된 작업을 수행하는 함수입니다.

보다 자세한 내용은 https://docs.oracle.com/javase/9/docs/api/java/util/Iterator.html 공식문서를 통해 확인하는 것이 가장 좋습니다.

사용 예시

ArrayList<String> a = new ArrayList<>();
a.add("1");
a.add("2");
a.add("3");
a.add("4");

Iterator e = a.iterator(); //Interator객체 생성 
String s;

while(e.hasNext()){
    s = (String)e.next();
    System.out,println(s);
}

 ArrayList나 LinkedList에서 활용하기 편한 반복자는 ListIerator가 있으므로, 이를 활용하는 것도 좋은 방법입니다. (hasPrevious()와 previous()함수가 더 있습니다.) 

반응형