자바의 반복기와 열거형 인터페이스 간의 차이점

반복기 대 열거형컬렉션의 요소에 하나씩 액세스하는 데 사용되는 세 개의 커서는 열거형,반복기 및 리스티터입니다. 그러나 반복자와 열거자는 동일한 작업을 수행하기위한 것입니다. 그러나 열거형에는 컬렉션의 요소에 대한 읽기 전용 액세스 권한이 있다는 점에서 서로 다릅니다. 다른 측면에서,반복자는 컬렉션에서 요소를 읽을 뿐만 아니라 제거할 수 있습니다.

반복기와 열거형의 중요한 차이점은 컬렉션 클래스에는 열거형을 적용할 수 없다는 점입니다. 반면에 반복기는 컬렉션 클래스에 적용 할 수 있으므로 범용 커서라고합니다. 우리가 아래에 표시된 비교 차트의 도움으로 반복자 및 열거 사이에 좀 더 차이를 알아 보자.

내용: 반복자 대 열거

  1. 비교 차트
  2. 정의
  3. 주요 차이점
  4. 결론

비교 차트

비교 기준 반복자 열거
기본 반복기는 모든 컬렉션 클래스에 적용 가능한 범용 커서입니다. 열거형은 레거시 클래스에만 적용되므로 범용 커서가 아닙니다.
액세스 반복기를 사용하여 컬렉션의 요소를 읽고 제거할 수 있습니다. 열거형을 사용하면 컬렉션의 요소만 읽을 수 있습니다.
이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.이 메서드는 다음과 같은 메서드를 사용합니다.();
제한 반복자는 단방향 정방향 액세스 커서입니다.
반복자는 컬렉션의 모든 요소를 대체 할 수 없습니다.
반복자는 컬렉션에 새 요소를 추가 할 수 없습니다.
열거형은 단방향 정방향 액세스 커서입니다.
열거형은 레거시 클래스만 지원합니다.
열거형에는 컬렉션의 요소에 대한 읽기 전용 액세스 권한만 있습니다.
극복 반복기의 한계를 극복하려면 리스티터를 선택해야 합니다. 열거형의 한계를 극복하려면 반복기를 선택해야 합니다.

반복자 인터페이스 정의

반복자는 컬렉션 프레임워크의 인터페이스입니다. 반복기는 모든 컬렉션 클래스에 적용 할 수 있으므로 범용 커서라고합니다. 컬렉션의 요소를 하나씩 액세스하는 데 사용되는 커서입니다. 반복기를 사용하여 컬렉션에서 요소를 검색할 수 있으며 원하는 경우 컬렉션에서 요소를 제거할 수도 있습니다. 반복자의 개체는 아래와 같이 만들 수 있습니다.이 매개 변수는 반복자의 객체입니다. 이 메서드는 모든 컬렉션 개체를 순환하거나 반복하는 데 사용됩니다. 반복기()는 반복기 개체를 만드는 데 사용되는 방법입니다. 아래 그림과 같이 반복기에는 세 가지 방법이 있습니다.

public boolean hasnext();public Object next();public void remove();

첫 번째 메서드는 컬렉션에 요소가 있는지 여부를 확인합니다. 컬렉션 요소가있는 경우,그것은 거짓 반환 참 다른 반환합니다. 두 번째 방법은 다음()컬렉션의 다음 요소를 검색하는 데 사용됩니다. 세 번째 방법 제거()는 컬렉션에서 요소를 삭제하는 데 사용됩니다.

반복자는 이동하는 동안 뒤로 이동할 수 없는 앞으로 방향으로만 컬렉션을 이동할 수 있습니다. 반복기는 컬렉션에서 요소를 제거할 수 있지만 기존 요소를 새 요소로 바꿀 수 있는 기능이 없으며 컬렉션에 새 요소를 추가할 수도 없습니다. 이러한 한계를 극복하기 위해 당신은 리스티터 인터페이스에 갈 수 있습니다.

열거형 인터페이스 정의

열거형은 레거시 클래스에 적용할 수 있는 인터페이스이며 모든 컬렉션 클래스에 적용할 수 없습니다. 따라서 보편적 인 커서가 아닙니다. 열거형은 컬렉션에서 요소(개체)를 하나씩 검색합니다. 열거형 개체에는 컬렉션의 요소에 대한 읽기 전용 액세스 권한이 있습니다. 열거 객체는 컬렉션에서 모든 요소를 변경할 수 없습니다. 우리가 열거 개체를 만드는 방법을 살펴 보자.

Enumeration er = Vect.elements();

변수는 열거형 개체입니다. 벡터는 열거형의 객체가 통과해야 하는 벡터 클래스의 객체입니다. 메서드 요소()는 열거형 개체를 만드는 데 사용됩니다. 아래와 같이 열거형 인터페이스에는 두 가지 방법만 있습니다.

public boolean hasMoreElements();public nextElement();

첫 번째 메서드는 더 요소()에 요소가 있는지 또는 비어 있는지 컬렉션의 상태를 확인 하는 데 사용 됩니다. 메서드 반환 참 다른 반환 거짓입니다. 두 번째 방법은 컬렉션의 요소를 하나씩 검색하는 데 사용됩니다.이 메서드는 다른 메서드를 호출할 수 없습니다. 열거형 개체는 앞으로 방향으로만 이동합니다. 그것은 추가하거나 제거하거나 컬렉션의 모든 요소를 대체 할 수 없습니다. 열거형의 이러한 제한을 극복하려면 반복기를 선택해야 합니다.

자바에서 반복자와 열거 사이의 주요 차이점

  1. 반복자와 열거 사이의 주요 차이점은 반복자가 보편적 인 커서,어떤 컬렉션 개체를 반복하는 데 사용할 수 있다는 것입니다. 반면에 열거형은 레거시 클래스의 개체 순회에만 사용됩니다.
  2. 열거형 개체에는 컬렉션의 요소에 대한 읽기 전용 액세스 권한만 있습니다. 그러나 반복기의 개체는 컬렉션에서 요소를 읽고 제거할 수 있습니다.
  3. 컬렉션의 상태를 확인하는 반복자와 컬렉션에서 요소를 검색하는 두 가지 방법이 있습니다. 열거 메서드 외에도 반복자는 컬렉션에서 요소를 제거하는 또 하나의 방법이 있습니다.
  4. 열거형의 제한 사항은 정방향 단방향 커서이고 읽기 전용 액세스 권한이 있으며 컬렉션 클래스에 적용 할 수 있다는 것입니다. 다른 방법으로,반복자는 교체하거나 컬렉션에 같은 열거 그것의 또한 앞으로 단방향 커서를 새로운 요소를 추가 할 수 없습니다.
  5. 열거 제한은 반복자에 의해 해결되고 반복자의 제한은 리스티터에 의해 해결됩니다.

결론

요즘,반복자 및 리스티터또는 커서는 범용 커서이기 때문에 사용되며 열거 형보다 훨씬 효율적입니다.

답글 남기기

이메일 주소는 공개되지 않습니다.