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;
}
}
'CS > 자료구조' 카테고리의 다른 글
LiskedList vs ArrayDeque vs 배열 (0) | 2024.08.01 |
---|---|
HashMap 동작원리 (0) | 2024.05.23 |
Set에 대하여 (0) | 2024.04.16 |
List <-> 배열 변환하는 법 (1) | 2024.03.29 |
HashMap 사용법 (0) | 2024.03.28 |