Java의 Iterator 란 무엇이며 어떻게 사용합니까?



Java 블로그의 Iterator는 몇 가지 예제와 함께 iterator가 무엇이며 Java에서이를 사용하는 방법에 대한 적절한 소개를 제공합니다.

작업중인 경우 시퀀스를 인쇄하고 싶다고하면 Java의 Iterator가 등장합니다. 이렇게하면 각 줄마다 print 문을 추가하지 않고도 시퀀스를 얻을 수 있습니다. 이제 Iterator에 대해 알아 보겠습니다. .

다음은이 모듈에서 다룰 주제입니다.





시작하자!

Java에서 tostring은 무엇을 의미합니까?

반복 자란 무엇입니까?

Java는 주로 네 가지 커서를 지원합니다. 즉,



  • 열거
  • 반복자
  • ListIterator
  • 쪼개는 도구

이러한 각 Java 커서에는 몇 가지 장점과 단점이 있습니다. 이 기사에서는 Iterator에 초점을 맞출 것입니다.

자, Java에서 반복자는 무엇입니까?

반복자 컬렉션 프레임 워크에 속하는 인터페이스입니다. 컬렉션을 탐색하고 데이터 요소에 액세스하고 컬렉션의 데이터 요소를 제거 할 수 있습니다.



또한 모든 항목에 적용 할 수 있으므로 범용 반복기로 간주됩니다. 목적. 반복자를 사용하여 읽기 및 제거 작업을 모두 수행 할 수 있습니다. 이것은 개선 된 버전입니다 열거 요소 제거 가능성의 추가 기능과 함께.

자바 반복기 메서드

Java iterator에는 총 4 개의 메소드가 있습니다. 자세히 이해합시다.

행동 양식기술
forEachRemaining (소비)모든 요소가 처리 될 때까지 각 요소에 대한 작업을 수행합니다. 또한 조치에 의해 예외가 발생할 때까지.
hasNext ()보고 반복 중에 많은 수의 요소가 발견되면 참 값.
다음()보고 반복 중 다음으로 지정된 요소.
없애다()이 방법 r현재 요소를 제거합니다. 던짐 IllegalStateException next ()에 대한 호출이 선행되지 않은 remove ()를 호출하려는 경우.
부울 hasNext ()반복에 더 많은 요소가 있으면 true를 반환합니다.

예:

class Method {public static void main (String [] args) ArrayList list = new ArrayList () list.add ( 'E') list.add ( 'D') list.add ( 'U') list.add ( 'R ') list.add ('E ') list.add ('K ') list.add ('A ') // 목록을 순회하는 반복기 Iterator = list.iterator () System.out.println ('List elements : ') while (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}}

출력 : EDUREKA

Java의 ListIterator를 살펴 보겠습니다.

자바의 ListIterator

C ++에서 배열을 정렬하는 방법

ListIterator Java에서는 사용자가 컬렉션을 양방향으로 탐색 할 수있는 Iterator입니다. 다음과 같은 방법이 있습니다.

행동 양식방법 및 설명
void add (Object obj) next ()에 대한 다음 호출에서 반환 될 요소 앞의 목록에 obj를 삽입합니다.
부울 hasNext () 다음 요소가 있으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
부울 hasPrevious () 이전 요소가 있으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
다음 개체 () 다음 요소를 반환합니다. 다음 요소가 없으면 NoSuchElementException이 발생합니다.
int nextIndex () 다음 요소의 인덱스를 반환합니다. 다음 요소가 없으면 목록의 크기를 반환합니다.
이전 개체 () 이전 요소를 반환합니다. 이전 요소가 없으면 NoSuchElementException이 발생합니다.
int previousIndex () 이전 요소의 인덱스를 반환합니다. 이전 요소가 없으면 -1을 반환합니다.
무효 제거 () 목록에서 현재 요소를 제거합니다. next () 또는 previous ()가 호출되기 전에 remove ()가 호출되면 IllegalStateException이 발생합니다.
void set (Object obj) 현재 요소에 obj를 할당합니다. next () 또는 previous () 호출에 의해 마지막으로 반환 된 요소입니다.

예:

public class Lists {public static void main (String args []) {// 배열 목록 생성 ArrayList al = new ArrayList () // 배열 목록에 요소 추가 al.add ( 'E') al.add ( 'D ') al.add ('U ') al.add ('R ') al.add ('E ') al.add ('K ') al.add ('A ') // 반복기를 사용하여 al System.out.print ( 'al의 원래 내용 :') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '' )} System.out.println () // 반복되는 객체 수정 ListIterator litr = al.listIterator () while (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ( 'al의 수정 된 내용 :') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // 이제 목록을 거꾸로 표시 System.out.print ( 'Modified list backwards :') while (litr.hasPrevious ()) {Object element = litr.previous () System.out. print (element + '')} System.out.println ()}}

산출:

실물al의 내용:E D U R E K A
수정 됨al의 내용:IS+++아르 자형+IS++ A +
수정 됨거꾸로 나열:++IS+아르 자형+++ 및 +

java에서 int로 double

이제 Java에서이 반복기 인터페이스의 장점과 제한 사항을 살펴 보겠습니다.

Java에서 반복자의 장점

Java의 Iterator에는 다음과 같은 장점이 있습니다.

  • 컬렉션 클래스에 대해 이러한 반복기를 사용할 수 있습니다.
  • Java의 Iterator는 읽다 만큼 잘 없애다 작업.
  • 사용하는 경우 for 루프 당신은 할 수 없습니다 컬렉션을 업데이트 (추가 / 제거)하는 반면 반복자의 도움으로 컬렉션을 쉽게 업데이트 할 수 있습니다.
  • Collection API의 범용 커서입니다.
  • 메서드 이름은 매우 간단하고 사용하기 매우 쉽습니다.

Java에서 반복자의 한계

Java의 반복자에는 다음과 같은 단점이 있습니다.

  • 순방향 반복, 즉 단방향 반복 만 수행 할 수 있습니다.
  • 새 요소의 교체 및 추가는 Iterator에서 지원되지 않습니다.
  • ListIterator는 가장 강력한 반복자이지만 List 구현 클래스에만 적용 할 수 있습니다. 따라서 유니버설 반복자가 아닙니다.
  • CRUD 작업을 사용하는 경우 생성 및 업데이트 작업을 지원하지 않습니다.
  • Spliterator와 비교할 때 요소를 병렬로 반복 할 수 없습니다. 이는 순차 반복 만 지원함을 의미합니다.
  • 대량의 데이터를 반복하는 데 더 나은 성능을 지원하지 않습니다.

이것으로 Java에서 반복기가 작동하는 방법에 대해 배운이 기사의 끝으로 이동합니다. 이 튜토리얼에서 여러분과 공유 한 모든 내용이 명확하기를 바랍니다.

'자바의 반복자'에 대한이 기사가 관련이있는 경우 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사입니다.

우리는 여정의 모든 단계에서 귀하를 돕기 위해 여기에 있습니다.이 외에도 Java 개발자가 되고자하는 학생 및 전문가를 위해 설계된 커리큘럼을 마련했습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으시면 '자바의 반복자'의 코멘트 섹션에 모든 질문을 남겨 주시면 저희 팀이 기꺼이 답변 해 드리겠습니다.