객체 지향적 프로그래밍에서 배열이나 자료 구조의 내부의 요소를 순회하는 객체이다.
iterate : (계산, 컴퓨터 처리 절차를) 반복하다
iterator : 반복자
자바의 Iterator 인터페이스는 어떤 Collection객체라도 저장된 요소들을 순회할 수 있는 표준화된 방법을 제공하기 위해 만들어졌다. 물론, 대표적인 제어문인 for, while 문으로도 반복문을 얼마든지 가능하지만, Iterator는 '표준화된 방법을 제공'한다는 점에서 다형성을 구현하고자 했다.
Iterator 인터페이스가 제공하는 메서드는 3가지로 꽤 단순하다.
또한, '반복자'라는 이름답게 while, for 문과 함께 사용된다.
Iterator에서 내부적으로 호출하는 메서드의 순서는 hasNext() → next() → remove() 이다.
ArrayList<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add("F");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//Iterator는 재사용이 불가능하다 두번쨰 while문은 실행이되지 않음
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
한 번 사용된 Iterator 객체는 재사용이 불가능하다.
아래의 두 번째 호출된 반복문에 사용된 Iterator의 객체는 이미 첫 번째에서 사용되었기 때문에 실행되지 않는다.
[JAVA] LocalDate (날짜와 시간) 내일, 월말, 월초, 년말, 년초, 윤년 구하기 (0) | 2024.08.27 |
---|---|
PageHelper를 이용한 페이징처리 (Mybatis) (0) | 2024.08.27 |
[JAVA] 스트림(Stream) 중간연산, 최종연산 메소드 - (2) (31) | 2024.02.12 |
[JAVA] 스트림(Stream)이란 - (1) (66) | 2024.01.20 |
[JAVA] 대용량 데이터 조회 - ResultHandler (3) | 2023.10.15 |
댓글 영역