본문 바로가기
자료구조

Iterator에 대하여

by 순원이 2024. 4. 16.

Iterator

자바의 컬렉션에 존재하는 값들을 읽어오기 위한 방법으로 'iterator'라는 클래스가 존재한다.

이 iterator는 해당 컬렉션의 주소값을 기반으로 하나씩 값을 조회하는 클래스이다.

따라서, 대표적으로 다음과 같은 두 개의 함수가 존재한다.

hasNext() : 다음 값을 갖고 있는지 true/false 반환

next() : 다음 값으로 이동 및 반환

 

자바에서는 각각의 컬렉션별로 Iterator를 반환하는 함수를 갖고 있고, 이 함수는 컬렉션의 첫 번째 주소 값을 반환하는 형식으로 되어있습니다.

Iterator를 이용해 컬렉션을 추출하는 방법은

'첫 번째 주소를 담은 Iterator 생성 -> 반복문을 통해 하나씩 이동하며 저장된 값 반환' 입니다.

이를 코드로 나타내면 다음과 같습니다,

Iterator<String> setIter = hSet.iterator(); // 만든 hSet의 iterator 정보를 담은 setIter 변수 생성(hSet 자료형과 동일하게 생성)
while(setIter.hasNext()) { // 값이 존재할때까지 반복
	String str1 = setIter.next(); // hSet의 다음 값 가져오기
	System.out.print(str1 + " "); // 출력
}

or

  for (Iterator<?> i = iterator(); i.hasNext(); ) {
          if (c.contains(i.next())) {
                    i.remove();
                    modified = true;
          }
}

'자료구조' 카테고리의 다른 글

HashMap 동작원리  (0) 2024.05.23
Set에 대하여  (0) 2024.04.16
Queue에 대해서  (0) 2024.04.15
List <-> 배열 변환하는 법  (1) 2024.03.29
HashMap 사용법  (0) 2024.03.28