자바 튜토리얼

자바 홈 자바 소개 자바 시작하기 자바 구문 자바 주석 자바 변수 자바 데이터 유형 자바 타입 캐스팅 자바 연산자 자바 문자열 자바 수학 자바 부울 자바 If...Else 자바 스위치 자바 while 루프 자바 For 루프 자바 중단/계속 자바 배열

자바 메소드

자바 메소드 자바 메소드 매개변수 자바 메소드 오버로딩 자바 범위 자바 재귀

자바 클래스

자바 OOP 자바 클래스/객체 자바 클래스 속성 자바 클래스 메소드 자바 생성자 자바 수정자 자바 캡슐화 자바 패키지 / API 자바 상속 자바 다형성 자바 내부 클래스 자바 추상화 자바 인터페이스 자바 열거형 자바 사용자 입력 자바 날짜 자바 배열 목록 자바 링크드리스트 자바 해시맵 자바 해시셋 자바 반복자 자바 래퍼 클래스 자바 예외 자바 정규식 자바 스레드 자바 람다

자바 파일 처리

자바 파일 자바 파일 생성/쓰기 자바 읽기 파일 자바 삭제 파일

자바 방법

두 개의 숫자 더하기

자바 참조

자바 키워드 자바 문자열 메소드 자바 수학 메소드

자바 예제

자바 예제 자바 컴파일러 자바 연습 자바 퀴즈 자바 인증서


자바 반복자


자바 반복자

An 은 ArrayListHashSetIterator 과 같은 컬렉션을 반복하는 데 사용할 수 있는 개체입니다 . "반복"이 루핑에 대한 기술 용어이기 때문에 "반복자"라고 합니다.

java.utilIterator를 사용하려면 패키지 에서 가져와야 합니다 .


반복자 얻기

iterator()메서드는 Iterator모든 컬렉션에 대해 가져오는 데 사용할 수 있습니다.

예시

// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {

    // Make a collection
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");

    // Get the iterator
    Iterator<String> it = cars.iterator();

    // Print the first item
    System.out.println(it.next());
  }
}


컬렉션 루핑

컬렉션을 반복하려면 다음 hasNext()next()메서드를 사용합니다 Iterator.

예시

while(it.hasNext()) {
  System.out.println(it.next());
}


컬렉션에서 항목 제거

반복자는 반복되는 컬렉션을 쉽게 변경하도록 설계되었습니다. remove()메서드는 반복하는 동안 컬렉션에서 항목을 제거할 수 있습니다.

예시

반복자를 사용하여 컬렉션에서 10보다 작은 숫자를 제거합니다.

import java.util.ArrayList;
import java.util.Iterator;

public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(12);
    numbers.add(8);
    numbers.add(2);
    numbers.add(23);
    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }
    System.out.println(numbers);
  }
}

참고: for 루프 또는 for-each 루프를 사용하여 항목을 제거하려고 하면 코드가 루프를 시도하는 동시에 컬렉션의 크기가 변경되기 때문에 올바르게 작동하지 않습니다.