728x90
반응형
* java.util 패키지의 Iterator<E> 인터페이스는 Vector, ArrayList, LinkedList, Set과 같이 요소가 순서대로 저장된 컬렉션에서 요소를 순차 검색할 때 사용하면 편리하다.
* 벡터 v의 iterator()를 호출하여, 벡터 v의 각 요소를 순차적으로 검색할 수 있는 Iterator 객체를 얻어낸다.
이때 Iterator 객체를 반복자라고 부른다.
Iterator<Integer> It = v.iterator(); // 벡터 v의 요소를 순차 검색할 Iterator 객체 리턴
* it로 v의 각 요소들을 순차 방문하는 코드이며, 처음 it.next()는 v의 첫 번째 요소를 리턴하고, it는 다음 요소를 가리킨다.
while(it.hasNext()) { // it로 벡터의 끝까지 반복
int n = it.next(); // it가 가리키는 요소 리턴. it의 요소 타입은 Integer이므로 정수 리턴
...
}
* Iterator<E> 인터페이스의 메소드
메소드 | 설명 |
boolean hasNext() | 방문할 요소가 남아 있으면 true 리턴 |
E next() | 다음 요소 리턴 |
void remove() | 마지막으로 리턴된 요소 제거 |
* Iteration을 이용하여 vector 속의 모든 요소를 출력하고 합 구하기
package Ch7_Ex;
import java.util.*;
public class IteratorEx {
public static void main(String[] args) {
// 정수 값만 다루는 제네릭 벡터 생성
Vector<Integer> v = new Vector<Integer>(); // var v = new Vector<Integer>();로 간략하게 쓸 수 있음
v.add(5);
v.add(4);
v.add(-1);
v.add(2, 100); // 2번 인덱스에 정수 100 삽입
// Iterator를 이용한 모든 정수 출력하기
Iterator<Integer> it = v.iterator(); // Iterator 객체 얻기
while(it.hasNext()) {
int n = it.next();
System.out.println(n);
}
// Iterator를 이용하여 모든 정수 더하기
int sum = 0;
it = v.iterator(); // it 다시 설정
while(it.hasNext()) {
int n = it.next();
sum += n;
}
System.out.println("벡터에 있는 정수 합 : " + sum);
}
}
반응형
'IT > 자바공부' 카테고리의 다른 글
LinkedList, Collections 클래스 활용, 자바 명품 프로그래밍 7장 (0) | 2022.06.11 |
---|---|
HashMap, 자바 명품 프로그래밍 7장 (0) | 2022.06.11 |
컬렉션 Vector의 활용, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |
ArrayList<E>, 자바 명품 프로그래밍 7장 (0) | 2022.06.10 |
컬랙션 매개변수 메소드 만들기, 명품 자바 프로그래밍 7장 (0) | 2022.06.10 |