ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA] Iterator Method 관련 내용
    JAVA 2022. 8. 18. 09:30
    728x90
    반응형

    컬렉션에 저장된 데이터를 접근하는 데 사용되는 인터페이스를 의미합니다.

    • ListIterator(양방향)은 Iterator(단방향)의 접근성을 향상한 것이다.

    Iterator Method

    • boolean hasNext() : 읽어 올 요소가 남아 있는지 확인 ( 있다면 true, 없다면 false)
    • Object next() : 다음 요소를 읽어온다.
      • hasNext()로 요소가 있는지 확인하고 next()를 사용하는 게 안정적이다.
    • void remove() : 요소를 삭제한다.
      • next() 호출 후 remove()를 호출해야 한다.
    • void forEachRemaining(Consumer<?super E> action) 
      • 컬렉션에 남아있는 요소들에 대해 지정된 작업(action)을 수행한다. (람다식을 사용하는 디폴트 메서드)

    Iterator의 특징

    컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것

    • 컬렉션에는 List, Set, Map 각각 다양한 구조를 가지고 있기 때문에 표준화가 필요하다.
    • 컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용한다.
    // 예시
    
    List list = new ArrayList();
    Iterator it = list.iterator(); // iterator 인스턴스 생성
    
    while(it.hasNext()){ // 읽어올 요소가 있는지 확인
        System.out.println(int.next()); // 다음 요소 읽기
    }

    Map은 Iterator()를 그냥 사용할 수 없다.

    Map에서는 Iterator()를 사용할 수 없기 때문에 keySet(), entrySet(), values()를 사용한다.

    • Set, Set, Collection이기 때문에 이제 Iterator()를 사용할 수 있다.
    // 예시
    Map map = new HashMap();
    Iterator it = map.entrySet().iterator();
    
    while(it.hasNext()){
        System.out.println(it.next());
    }
    728x90
    반응형
Designed by Tistory.