1. 개요

이 사용방법(예제)에서는 Java의 열거반복기 에 대해 배웁니다 . 또한 코드에서 사용하는 방법과 차이점이 무엇인지 배울 것입니다.

2. 열거반복자 소개

이 섹션에서는 EnumerationIterator 의 개념과 사용 에 대해 알아봅니다 .

2.1. 열거

열거 는 버전 1.0부터 Java에 있었습니다. 인터페이스이며 모든 구현 을 통해 요소에 하나씩 액세스할 수 있습니다 . 간단히 말해서 Vector Hashtable 과 같은 개체 컬렉션을 반복하는 데 사용됩니다.

Enumeration 의 예를 살펴보겠습니다 .

Vector<Person> people = new Vector<>(getPersons());
Enumeration<Person> enumeration = people.elements();
while (enumeration.hasMoreElements()) {
    System.out.println("First Name = " + enumeration.nextElement().getFirstName());
}

여기서는 Enumeration 을 사용하여 Person 의 firstName 을 인쇄하고 있습니다. elements() 메소드는 Enumeration에 대한 참조를 제공하며 이를 사용 하여 요소에 하나씩 액세스할 수 있습니다.

2.2. 반복자

Iterator 는 Java 1.2부터 존재했으며동일한 버전에서도 도입된 컬렉션 을 반복하는 데 사용됩니다 .

다음으로 Iterator 를 사용하여 Person 의 firstName인쇄해 보겠습니다 . iterator() 는 Iterator 에 대한 참조를 제공하고 이를 사용하여 요소에 하나씩 액세스할 수 있습니다.

List<Person> persons = getPersons();
Iterator<Person> iterator = persons.iterator();
while (iterator.hasNext()) {
    System.out.println("First Name = " + iterator.next().getFirstName());
}

따라서 EnumerationIterator 는 각각 1.0 및 1.2부터 Java에 있으며 한 번에 하나씩 개체 컬렉션을 반복하는 데 사용됩니다 .

3. 열거반복자 의 차이점

이 표에서는 EnumerationIterator 의 차이점을 이해할 것 입니다.

열거 반복자
VectorHashtable 을 열거하기 위해 Java 1.0부터 존재 List , Set , Map 등과 같은 컬렉션을 반복하기 위해 Java 1.2부터 존재 합니다.
hasMoreElements()nextElement() 의 두 가지 메서드가 포함되어 있습니다. hasNext(), next()remove() 의 세 가지 메서드가 포함되어 있습니다.
메서드 이름이 깁니다. 메소드에는 짧고 간결한 이름이 있습니다.
반복하는 동안 요소를 제거하는 방법이 없습니다. 반복하는 동안 요소를 제거하려면 remove()해야 합니다
Java 9에 추가된 asIterator() 는 Enumeration 상단에 Iterator 를 제공합니다 . 그러나 이 특별한 경우에는  remove() 가 UnsupportedOperationException 을 던집니다. Java 8에 추가된 forEachRemaining() 은 나머지 요소에 대한 작업을 수행합니다.

4. 결론

이 기사에서는 EnumerationIterator , 코드 예제를 사용하여 사용하는 방법, 그리고 이들 간의 다양한 차이점을 이해했습니다.

이 기사에 사용된 모든 코드 예제는 GitHub에서 사용할 수 있습니다 .

Generic footer banner