본문 바로가기
study/Java

[Java] 35. Iterator, Enumeration

by 금이패런츠 2022. 3. 31.
728x90
반응형
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;

/*
 * Iterator 인터페이스 예제
 *  1. 반복자.
 *  2. Collection 객체를 순서대로 조회할 수 있는 기능
 *  3. 메서드
 *     - boolean hasNext() : 조회 대상 객체 존재 여부 확인 
 *     - Object next()     : 객체 리턴.
 *     -void remove()      : 조회된 객체 제거. next() 실행 이후에 호출가능
 *  
 * Enumeration 인터페이스 예제
 *  1. 반복자
 *  2. Iterator 이전에 사용했던 반복자. => Vector, Hashtable 클래스에서만 사용가능
 *  3. 메서드
 *    - boolean hasMoreElement()
 *    - Object nextElement() 
 */
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();
		print(it);
		System.out.println(list);
		it = set.iterator();
		print(it);
		System.out.println(set);
		Enumeration e = v.elements();
		while(e.hasMoreElements()) {
			System.out.println(e.nextElement());
		}
	}
	private static void print(Iterator it) {
		while(it.hasNext()) {
			System.out.print(it.next() + ",");
			it.remove();
		}
		System.out.println();
	}
}
728x90
반응형