• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - Iterator (반복자)

1,719  
목차
  1. Iterator (반복자) 정의
  2. Iterator (반복자) 얻기 - iterator() 메서드
  3. 컬렉션 반복 - while 반복문 / hasNext(), next() 메서드
  4. 컬렉션에서 요소 제거 - remove() 메서드

 

Iterator (반복자) 정의

 

ArrayList 및 HashSet 같은 컬렉션 반복에 사용 가능한 객체.

 


PS. 

반복자는 java.util 패키지에서 가져와야 사용 가능.

import java.util.Iterator;

 

 

Iterator (반복자) 얻기 - iterator() 메서드

 

iterator() 메서드 사용해 컬렉션에 대한 Iterator 얻기 가능.

 


[예제] Hz.java

 

import java.util.ArrayList;

import java.util.Iterator;


public class Hz {

  public static void main(String[] args) {

  

    // collection 생성.

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

  

    // iterator 얻기.

    Iterator<String> it = codes.iterator();

  

    // 1번째 요소 출력.

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

  }

}

 

결과값: HTML

 

컬렉션 반복 - while 반복문 / hasNext(), next() 메서드


반복자의 hasNext()next() 메서드 이용해 컬렉션 반복 가능.

※ 컬렉션 (collection) : '배열' 같은 자료 집합.

 


[예제] Hz.java

 

import java.util.ArrayList;

import java.util.Iterator;


public class Hz {

  public static void main(String[] args) {

  

    // collection 생성.

    ArrayList<String> codes = new ArrayList<String>();

    codes.add("HTML");

    codes.add("CSS");

    codes.add("JS");

    codes.add("PHP");

  

    // iterator 얻기.

    Iterator<String> it = codes.iterator();

  

    // collection 반복.

    while(it.hasNext()) {

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

    }

  }

}

 

결과값:

HTML

CSS

JS

PHP

 

컬렉션에서 요소 제거 - remove() 메서드

 

반복자의 remove() 메서드 사용해 컬렉션의 특정 요소 제거 가능.

 

[주의]

while 반복문에서는 정상작동하나, 

for/for_each() 반복문에서는 정상 작동 X.

(∵ 반복 시도 중에 컬렉션 크기가 변동되므로.

 


[예제] Hz.java

 

import java.util.ArrayList;

import java.util.Iterator;


public class Hz {

  public static void main(String[] args) {

    ArrayList<Integer> nums = new ArrayList<Integer>();

    nums.add(1);

    nums.add(3);

    nums.add(5);

    nums.add(7);

    Iterator<Integer> it = nums.iterator();

    while(it.hasNext()) {

      Integer i = it.next();

      if(i < 5) {

        it.remove();

      }

    }

    System.out.println(nums);

  }

}


결과값: [5, 7]



분류 제목
Keyword Java - instanceof 키워드 - 객체가 클래스(또는, 인터페이스)의 인스턴스인지 체크. (= 인스…
Keyword Java - int 키워드 - int 정수 자료형 변수 선언.
Keyword Java - interface 키워드 - 인터페이스 선언
Keyword Java - long 키워드 - long 자료형 정수 담는 변수 선언.
Keyword Java - module 키워드 △ - 모듈 선언.
Keyword Java - native 키워드 △ - 메서드가 동일 Java 소스 파일(다른 언어)에서 구현되지 않도록 지…
Keyword Java - new 키워드 - 새로운 객체 생성 (= new키워드 = 뉴키워드)
Keyword Java - package 키워드 - 패키지 선언.
Keyword Java - private 키워드 - 선언된 클래스 안에서만 접근 가능 설정.
Keyword Java - protected 키워드 - 같은 패키지 및 서브 클래스에서만 접근 가능 설정.
Keyword Java - public 키워드 - 다른 클래스의 접근을 허용. (= 퍼블릭)
Keyword Java - requires 키워드 △ - 모듈 내부에 필요한 라이브러리 지정. (Java 9 이상)
Keyword Java - return 키워드 - 메서드 실행 후, 값을 반환.
Keyword Java - short 키워드 - short 정수 자료형 선언.
Keyword Java - static 키워드 - 객체 생성 없이 바로 접근 가능한 (메서드/속성) 선언.
Keyword Java - strictfp 키워드 △ - 부동 소수점 계산 정밀도 및 반올림 제한.
Keyword Java - super 키워드 - 슈퍼클래스 (= 부모클래스) 객체 의미.
Keyword Java - switch 키워드 - switch 조건문 선언.
Keyword Java - synchronized 키워드 △ - 한 번에 하나의 스레드에서만 메소드에 접근 가능 지정하는 …
Keyword Java - this 키워드 - (메서드・생성자)에서 현재 객체 지칭. (= 디스)
5/10
목록
찾아주셔서 감사합니다. Since 2012