본문 바로가기
수업(국비지원)/Java

[Java] chap13 : 컬렉션 프레임워크 - Iterator 인터페이스

by byeolsub 2023. 4. 17.
  • Iterator 인터페이스
반복자 : Iterator 예제
  
  Iterator 인터페이스
    1. Collection 객체를 순서대로 조회 할 수 있는 기능
    2. 메서드 :
         - boolean hasNext() : 조회대상 객채 존재하는지?
         - Object next() : 객체 리턴
         - void remove() : next()에 의해 조회된 객체 제거.
  • Enumeration 인터페이스
 Enumeration 인터페이스 => Iterator 이전의 반복자
     1. Vector(List),HashTable(Map) 이전 클래스에서만 사용이 가능한 반복자.
     2. 메서드 :
         - boolean hashMoreElement() : 조회대상 객체 존재하는지?
         - Object nextElement() : 객체 리턴       

 

📌

package chap13;

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Vector;

public class IteratorEx1 {
	public static void main(String[] args) {
		Iterator it = null;
		List list = new ArrayList();
		Set set = new HashSet();
		Vector v = new Vector();
		for(int i=1;i<=5;i++) {
			list.add(i+10); set.add(i*10);
			v.add(i*20);
		}
		System.out.println(list);
		System.out.println(set);
		
		it = list.iterator(); //list 객체를 Iterator 객체로 변환
		print(it);
		System.out.println(list);
		
		it = set.iterator();
		print(it);
		System.out.println(set);
		//Vector 클래스는 Collection 이전의클래스
		//삭제 기능은 없다
		Enumeration e = v.elements();
		while(e.hasMoreElements()) {
			System.out.println(e.nextElement());
		}
	}
	private static void print(Iterator it) {
		while(it.hasNext()) { //객체가 존재하는지?
			System.out.println(it.next());
			it.remove();
		}
		System.out.println();
	}
}