Enumeration, Iterator 인터페이스

Collection에 저장된 요소에 접근하기 위해 사용하며, 표준 인터페이스로 데이터를 읽는 방법을 제시한다

 

 

- Enumeration

데이터를 순서대로 가져옴

 

인터페이스로 직접 new키워드를 통한 객체 생성이 불가능하다.  Vector클래스의 메소드 반환값을 이용하여 객체를 생성할 수 있다.

//Enumeration
Vector<String> v = new Vector<String>();
v.add("test1"); v.add("test2"); v.add("test3");
Enumeration<String> eu = v.elements();//벡터의 값을 전부 저장
while(eu.hasMoreElements()) {//꺼낼 데이터가 존재한다면 
System.out.println(eu.nextElement());
}
/*
test1
test2
test3
*/

 

Vector 메소드 중 Enumeration<E>, Iterator<E> 반환하는 메소드

 

- Iterator

데이터를 순서상관없이 가져옴

 

Map 인터페이스를 구현하는 Hashtable 클래스는 <key,value>쌍을 이루어 저장된다.

이 객체 h는 Iterator 객체 형태를 맞추기 위해 value의 요소만을 넘겨주어 Collection 객체가 우선적으로 되어야 한다. 

Hashtable<Integer,String> h = new Hashtable<Integer,String>();
h.put(1,"임시");
h.put(2,"테스트");
h.put(3,"010-1234");
h.put(4,"5678");
Collection<String> c = h.values();
Iterator<String> ih= c.iterator();
while(ih.hasNext()) {//검색할 데이터가 들어 있다면
	System.out.println(ih.next());
}
/*
5678
010-1234
테스트
임시
*/

 

 

+ Recent posts