FreeHand

Iterator / ListIterator / Enumeration 본문

Language/Java

Iterator / ListIterator / Enumeration

Jinn 2023. 6. 25. 12:48

Iterator

- 컬렉션에 저장된 데이터를 접근하는 데 사용되는 인터페이스

- 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것

(컬렉션마다 요소를 읽어오는 방법이 다르기 때문에 사용)

 

- boolean hasNext() : 읽어 올 요소가 남아있는지 확인. 있으면 true, 없으면 false 반환

- Object next() : 다음 요소 읽어오기. hasNext()로 읽어 올 요소가 있는지 확인 후 사용

- void remove() : next()로 읽어 온 요소를 삭제.


Enumeration

- Iterator의 옛날 버전

 

- boolean hasMoreElements() : Iterator의 hasNext()와 동일

- Object nextElement() : Iterator의 next()와 동일


ListIterator

- Iterator의 접근성을 향상시킨 것 (단방향->양방향)

- next(), previous()


 

public class Main {
	public static void main(String[] args) {
    	Collection list = new ArrayList(); // ArrayList 컬렉션
        for(int i=1; i<=5; i++) {
        	list.add(i);
        }
        
        Iterator it = list.iterator();
        
        while(it.hasNext()) { // 읽을 요소가 있는지 확인
        	Object obj = it.next(); // 다음 요소 읽어옴
            System.out.println(obj);
        }
        
//        it = list.iterator(); // 한번 다 읽으면 iterator 객체를 다시 얻어와야 사용가능(1회용)
//        
//        while(it.hasNext()) { // 읽을 요소가 있는지 확인
//        	Object obj = it.next(); // 다음 요소 읽어옴
//          System.out.println(obj);
//        }
    }
}

'Language > Java' 카테고리의 다른 글

Generics  (0) 2023.08.01
[기타] 문자열 붙이기(repeat)  (0) 2023.07.12
String 클래스 메서드  (0) 2023.06.28
equals() 오버라이딩  (0) 2023.06.28
예외 처리  (0) 2023.06.25