반응형
컬렉션(collection) 인터페이스를 사용하는 클래스의 데이터를 순환해서 사용하는 경우
for문으로 데이터를 가져오는 방법도 있지만
순환 인터페이스인 iterator와 Enumeration을 사용하는 방법도 있다.
Iterator와 Enumeration는 비슷하지만 스레드(thread)의 지원 여부가 다르다.
- Iterator
스레드에 안전하지 않은 구조
ArrayList, HashSet 등은 Iterator을 사용
ArrayList<String> nameList = new ArrayList<String>();
String name;
nameList.add("A");
nameList.add("B");
nameList.add("C");
nameList.add("D");
nameList.add("E");
nameList.add("F");
Iterator<String> it = nameList.iterator();
while(it.hasNext()) { // hasNext() : 내용이 있는지 확인하는 메서드
name = it.next(); // next() : 값을 가져오는 메서드
if ("F".equals(name)) {
it.remove(); // remove() : 해당 컬렉션 값을 삭제하는 메서드
}
}
for(String l : nameList) {
System.out.println(l);
}
- Enumeration
스레드에 안전한 구조
Vector, Hashtable 등은 Enumeration을 사용
Vector<String> vt = new Vector<String>();
vt.addElement("A");
vt.addElement("B");
vt.addElement("C");
vt.addElement("D");
vt.addElement("E");
Enumeration<String> e = vt.elements();
while(e.hasMoreElements()) { // hasMoreElements() : 내용이 있는지 확인하는 메서드
System.out.println(e.nextElement()); // nextElement() : 값을 가져오는 메서드
}
반응형
'JAVA' 카테고리의 다른 글
[JAVA] @SuppressWarnings 란? (0) | 2022.07.20 |
---|---|
[JAVA] Enumeration 세션값 출력 (0) | 2022.02.25 |
[JAVA] String 문자열 따옴표(") 넣기 (0) | 2022.02.22 |
[JAVA] Random 사용하여 임시 비밀번호 생성 (0) | 2022.01.14 |
[JAVA] 파일 ZIP 압축 및 다운로드 (0) | 2022.01.12 |
댓글