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
테스트
임시
*/
'JAVA' 카테고리의 다른 글
[JAVA]컬렉션프레임워크 인터페이스 종류 / List, Set, Map (0) | 2021.06.21 |
---|---|
[JAVA]컬렉션 프레임워크 개요, wrapper 클래스 boxing unboxing (0) | 2021.06.20 |
[JAVA]DataInputStream / FileInputStream / ObjectInputStream, 인터페이스 종류 (0) | 2021.06.18 |
[JAVA]Scanner클래스 nextLine() next() / 예외처리 (0) | 2021.06.17 |
[JAVA] Swing -JTextField, JTextArea (0) | 2021.06.08 |