티스토리 뷰

Java+Spring/Java

[Java]Iterator

Vagabund.Gni 2022. 7. 15. 22:59
728x90
반응형

Iterator는 반복자라는 뜻을 갖는다.

 

컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할을 하며,

 

Collection 인터페이스 안에는 iterator 인터페이스의 iterator()메서드가 정의되어 있다.

 

즉 iterator()를 호출하면 Iterator 타입의 인스턴스가 반환된다.

 

따라서 List<E>와 Set<E> 인터페이스를 구현한 클래스들은 공통으로 iterator() 메서드를 사용할 수 있다.

 

iterator()를 통해 만들어진 인스턴스는 아래의 메서드를 사용할 수 있다.

 

next()메서드를 사용시 hasNext()를 통해 다음 객체가 있는지 확인하는 것이 좋다.

 

구체적인 사용 방법은 다음과 같다.

List<String> list = ...;
Iterator<String> iterator = list.iterator();

while(iterator.hasNext()) {     // 읽어올 다음 객체가 있다면 
	String str = iterator.next(); // next()를 통해 다음 객체를 읽어옵니다. 
    ...
}

remove() 메서드와 함께 사용하면 아래와 같은 역할을 줄 수도 있다.

List<String> list = ...;
Iterator<String> iterator = list.iterator();

while(iterator.hasNext()){        // 다음 객체가 있다면
	String str = iterator.next();   // 객체를 읽어오고,
	if(str.equals("str과 같은 단어")){ // 조건에 부합한다면
        iterator.remove();            // 해당 객체를 컬렉션에서 제거합니다.
    }
}
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함