본문 바로가기
공부하면서 생긴 질문들/Java

Iterator

by 구너드 2023. 6. 15.

Iterator는 컬렉션 객체에 저장된 요소들을 순차적으로 접근하고 반복할 수 있는 인터페이스이다.

 

Iterator 인터페이스의 주요 메서드는 다음과 같다.

Iterator<T> iterator = collection.iterator();

while (iterator.hasNext()) {
    T element = iterator.next();
    // element를 사용하여 원하는 동작을 수행
}

boolean hasNext()

다음 요소가 존재하는지 여부를 확인한다. 다음 요소가 있을 경우, true를 반환하고, 없을 경우 false를 반환.

next():

다음 요소를 반환한다. hasNext() 메서드로 확인한 후 호출해야하는데, 반환되는 요소의 타입은 컬렉션의 타입에 따라 결정.

void remove(): 

현재 요소를 컬렉션에서 제거한다. next() 이후에 remove()을 호출하여 next()로 반환된 요소를 제거한다.

 

다음의 예시를 살펴보자

        ArrayList<Integer> list = new ArrayList<>();

        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        Iterator<Integer> iterator = list.iterator();

        while (iterator.hasNext()) {
            int number = iterator.next();
            if (number == 3) {
                iterator.remove();
            }
        }

        System.out.println(list);
[1, 2, 4, 5]

'공부하면서 생긴 질문들 > Java' 카테고리의 다른 글

객체지향 디자인 원칙, SOLID  (0) 2023.06.16
Comparator와 Comparable 1  (0) 2023.06.16
Null과 Optional  (0) 2023.06.15
향상된 for 문  (0) 2023.06.15
Exception 1  (0) 2023.06.14