티스토리 뷰
Iterator
iterator를 우리 말로 번역하면 '반복자'로, 객체 지향 프로그래밍에서 배열과 같은 여러 개의 데이터의 집합으로 이루어진 자료구조를 순회하는 객체를 의미한다.
- iterator를 우리 말로 번역하면 '반복자'입니다.
- 자바의 Collection에 저장되에 있는 요소들을 순회하는 인터페이스이다.
Collection
Collection이란 자바에서 제공하는 자료구조들의 인터페이스로 List, ArrayList, LinkedList, Set, HashSet, TreeSet, Stack, Queue 등이 이를 상속받고있다. 즉, 이러한 컬렉션 인터페이스를 상속받는 클래스들에 대해 Iterator 인터페이스 사용이 가능하다.
Enumeration
Iterator의 전신은 자바 초창기의 Enumeration 인터페이스이다.
기능은 Iterator와 마찬가지로 연속적인 요소에 대한 반복 호출이며, hasMoreElements(), nextElements()의 2가지의 메서드를 지원한다. 이는 아래와 같이 Iterator의 2가지 메서드와 대응되는데, 메서드명과 소속 인터페이스만 다를 뿐 구현하는 기능은 동일하다.
Iterator | Enumeration |
hasNext() | hasMoreElements() |
next() | nextElement() |
Iterator 메서드
Iterator 인터페이스가 제공하는 메서드는 3가지로 단순하다. 또한, '반복자'라는 이름답게 while, for문과 함께 사용한다.
① boolean hasNext()
→ 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다.
② Object next()
→ 다음 요소를 읽어 온다. next()를 호출하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전하다.
③ void remove()
→ next()로 읽어 온 요소를 삭제한다. next()를 호출한 다음에 remove()를 호출해야한다.
예제
Iterator 인터페이스로 요소 읽어오기
public class Ex3 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("봄");
c.add("여름");
c.add("가을");
c.add("겨울");
Iterator it = c.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
단, 한번 사용된 Iterator 객체는 재사용이 불가능하다.
'Java > Java 기초' 카테고리의 다른 글
[Java] 문자열 붙이는 방식의 차이(concat, +, StringBuilder) (0) | 2024.02.16 |
---|---|
[Java] char 타입을 int 타입으로 변환하기 - Character.getNumericValue() (0) | 2024.02.08 |
[Java] 컬렉션 프레임워크(Collections Framework) - List (1) | 2024.01.27 |
[Java] 배열 복사 - copyOf() (0) | 2024.01.17 |
[Java] Math 메소드 정리 (수학 함수 정리) (0) | 2024.01.16 |
- Total
- Today
- Yesterday
- n 번째 원소부터
- 엑셀 파일 추출
- useeffet
- 대소문자 변환
- SQLD
- 프로그래머스
- 호이스팅
- SQL 개발자
- 스코프
- 콜백 큐
- 배열만들기1
- fsd 구조
- 블록스코프
- Replace
- 렌더링 과정
- replace와 replaceAll의 차이점
- nodelist
- Object.clone()
- 중첩스코프
- 배열 만들기3
- 브라우저의 기본 구조
- startsWith()
- fsd 아키텍처
- replaceAll
- StringBuilder
- 문자열 반복하기
- rep;ㅁce
- 마진과 패딩의 차이점
- 신입개발자 면접 준비
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |