English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 오브젝트 지향적(I)

Java 오브젝트 지향적(II)

Java 오브젝트 지향적(III)

Java 예외 처리

Java List

Java Queue(큐)

Java Map 컬렉션

Java Set 컬렉션

Java 입력출력(I/O)

Java Reader/Writer

Java 다른 주제

Java Iterator 인터페이스

이 튜토리얼에서는 Java Iterator 인터페이스를 예제를 통해 배웁니다.

Java 컬렉션 프레임워크의 Iterator 인터페이스는 컬렉션의 요소에 접근할 수 있게 하며, 그것은 ListIterator 서브 인터페이스를 가집니다.

모든 Java 컬렉션은 iterator() 메서드를 포함하고 있습니다. 이 메서드는 집합 요소를 이터레이션하는 이터레이터 인스턴스를 반환합니다.

이터레이터 메서드

Iterator 인터페이스는 제공합니다4이 방법은 집합 요소에 대해 다양한 작업을 수행할 수 있습니다.

  • hasNext() - 집합에 요소가 존재하면 true를 반환합니다

  • next() - 집합의 다음 요소를 반환합니다

  • remove() -next()가 반환한 마지막 요소를 제거합니다

  • forEachRemaining() - 집합의 각 잔여 요소에 대해 지정된 작업을 수행합니다

예제: 이터레이터 구현

아래의 예제에서는 배열 리스트에 Iterator 인터페이스의 hasNext(), next(), remove(), forEachRemaining() 메서드를 구현했습니다.

import java.util.ArrayList;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //ArrayList 생성
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: "} + numbers);
        //Iterator 인스턴스 생성
        Iterator<Integer> iterate = numbers.iterator();
        //next() 메서드 사용
        int number = iterate.next();
        System.out.println("접근 요소: "} + number);
        //remove() 메서드 사용
        iterate.remove();
        System.out.println("요소 제거: " + number);
        System.out.print("업데이트된 ArrayList: ");
        //hasNext() 메서드 사용
        while(iterate.hasNext()) {
            //forEachRemaining() 메서드 사용
            iterate.forEachRemaining((value -> System.out.print(value + ", "));
        }
    }
}

출력 결과

ArrayList: [1, 3, 2]
요소 접근: 1
요소 제거: 1
업데이트된 ArrayList: 3, 2,

위의 예제에서 다음과 같은 문장을 주목하십시오:

iterate.forEachRemaining((value -> System.put.print(value + ", "));

여기서, 우리는lambda 표현식forEachRemaining() 메서드의 매개변수로 전달됩니다.

현재, 이 메서드는 배열 목록의 모든 나머지 요소를 출력합니다.