자바의 반복자 구현 가이드

게시 됨: 2020-06-11

Java에는 일련의 연속 요소를 생성하는 데 사용되는 유틸리티( 자바 반복자)가 있습니다. 모든 컬렉션 클래스에 의해 구현되는 Java의 이러한 반복자 구현 은 인터페이스를 설정하는 개체를 반환합니다. Java 컬렉션 프레임워크는 재사용 가능한 데이터셋에서 실행되는 클래스 조합으로 구성되기 때문에 이러한 반복자 인터페이스 를 통해 반환된 객체 는 컬렉션의 모든 요소를 ​​이동할 수 있습니다.

실행하기 전에 염두에 두어야 하는 Java Iterator의 특정 특성이 있습니다.

  • Java의 컬렉션 프레임워크에는 READ 및 REMOVE 명령을 실행하는 데 도움이 되는 iterator() 함수가 탑재되어 있습니다.
  • 반복 방법은 다른 반복자와 달리 자동 루프에서 next() 함수를 사용하여 요소를 이동합니다.
  • 각 반복자는 모든 요소를 ​​한 번만 이동할 수 있으며 시리즈의 끝에 도달하면 다른 반복자를 얻을 때입니다.

읽기: Java가 개발자들에게 인기 있는 6가지 이유

목차

Java 코드 에서 반복자 구현 실행

각 프레임워크에는 반환되는 개체가 포함되어 있으므로 이러한 메서드를 사용하여 다음과 같은 방식으로 요소에 액세스할 수 있습니다.

  • iterator() 메서드를 호출합니다.
  • 부울 변수를 반환하는 부울 hasNext()를 호출할 수 있는 루프 생성. 변수에 실제 값이 있으면 반복자가 컬렉션을 이동할 수 있습니다.
  • 컬렉션의 다음 요소로 이동하기 위해 E next() 함수를 호출합니다.
  • 기본 void remove()는 반복자를 통해 반환되는 마지막 요소의 기본 컬렉션을 제거하는 데 사용할 수 있습니다.
  • 기본 void forEachRemaining() 함수는 전체 컬렉션이 처리를 완료할 때까지 반복자가 모든 요소에 대해 주어진 함수를 수행하는 데 도움이 됩니다.

자바의 반복자 구현에서 hasNext() 및 Next() 함수 사용

이미 알고 있듯이 next() 함수는 반복자가 모든 컬렉션 요소를 한 번에 하나씩 이동할 수 있도록 도와줍니다. 따라서 반복자가 컬렉션의 끝에 도달하면 next()는 예외를 발생시킵니다. 이것이 바로 next() 전에 hasnext() 함수를 사용하는 것이 예외를 제거하기 위해 반복자가 컬렉션과 함께 다음 객체를 갖도록 하는 이유입니다.

Object remove(): object remove() 함수의 도움으로 반복자가 이동하고 next()에 의해 반환된 마지막 객체를 삭제하고 반환할 수 있습니다. 이전 방문 이후 개체에 수정 사항이 있는 경우 IllegalStateException() 함수가 적용됩니다.

다음은 기능이 수행되는 방법에 대한 간단한 예입니다.

ArrayList abc = 새로운 ArrayList();

반복자 xyz = xyz.iterator();

xyz.next();

xyz.제거;

xyz.remove();

xyz.next();

xyz.remove();

가져오기 java.util.*;

클래스 iteratorTrial

{

공개 정적 무효 메인(문자열 [] 인수)

}

목록 시험 목록 = new ArrayList();

문자열 시험 배열[] = {"해리", "잭", "제이콥", "매기", "조지"};

for (int i=0; i<trialArray.length; i++)

{

시험목록.add(시험배열[i]);

}

반복자 xyz = trialList.iterator();

동안 (xyz.hasNext())

{

System.out.println(xyz.next());

}}}

위 코드에서 생성된 출력은 다음과 같습니다.

괴롭히다

야곱

매기

성 조지

위의 예에서 반복자 xyz는 첫 번째 요소와 인접 객체를 제거하고 빠르고 쉬운 반복을 수행하는 ArrayList abc에 대해 생성됩니다.

읽어보기: 초보자를 위한 17가지 흥미로운 Java 프로젝트 아이디어 및 주제

Java 에서 사용자 정의 클래스 반복자 구현

사용자 정의 사용자 정의 클래스의 경우 다음 방법을 사용하여 요소를 반복할 수 있습니다.

  • 사용자 정의 클래스를 설정하고 정의합니다.
  • 컬렉션 클래스를 사용자 지정 클래스에 할당하고 정의합니다.
  • 이 컬렉션 클래스에서 반복 가능한 인터페이스는 사용자 정의 클래스를 유형 매개변수로 사용하여 구현해야 합니다.
  • 동일한 컬렉션 클래스에서 iterator() 기능을 수행할 수 있어야 합니다.
  • Custom 클래스에서 이러한 지침을 따르고 나면 해당 요소에 대해 반복기 개체 또는 Enhanced For Loop()를 실행하도록 모두 설정됩니다 .

Java 에서 반복자 구현 의 장점과 단점

  • 모든 Collection 클래스에 적용 가능
  • 보안 방법 및 작업이 포함된 Collection API용 범용 커서

단점:

  • CREATE 및 UPDATE 작업을 지원하지 않습니다.
  • 반복은 한 방향으로만 발생합니다.
  • ListIterator 및 Spliterator는 병렬 반복 및 대량 데이터 반복을 허용하는 Java의 더 나은 커서입니다.

Java의 열거 및 반복자 구현 : 유사점 및 유사점

  • 열거자와 반복자는 모두 자바 커서이며 한 방향으로 한 번에 하나씩 컬렉션 클래스 요소를 반복하는 데 사용할 수 있습니다.
  • 두 커서 모두 READ 메서드를 지원합니다.

차이점:

  • 열거형은 Java 1.0에서 처음 실행된 레거시 인터페이스이며 Iterator와 달리 Legacy 컬렉션 클래스로 제한됩니다.
  • 열거자는 범용 커서가 아니므로 READ 기능을 수행하도록 제한되는 까다로운 기능 이름을 갖습니다.

또한 읽기: 인도의 Java 개발자 급여: 신입 및 경험자용

결론

이것이 자바 에서 반복자 구현을 위한 것입니다. 여러분! 올바른 방법으로 반복을 시작하는 방법을 이제 알았으면 합니다.

전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

미래의 직업을 위한 준비

업계에서 신뢰할 수 있는 학습 - 업계에서 인정하는 인증.
지금 등록 @ upGrad