250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자율학습
- 오블완
- 스프링 부트 3
- Proxy Object
- HashMap
- dotnet
- Spring Data JPA
- 혼공학습단
- Interface
- 인터페이스
- 접근제어자
- 접근 제어자
- 혼공컴운
- 나도코딩
- 0 시작
- 혼공
- types
- cluster index
- noncluster index
- 인프런
- entrySet
- 티스토리챌린지
- Wildcard
- java
- Access Modifier
- 네트워크
- Lazy loading
- literal
- Functional Interfaces
- 혼공자바
Archives
- Today
- Total
지금을 사는 사람
[Java] iterator의 동작 방식 본문
728x90
Java에서 반복자는 hasNext() 메소드를 통해 컬렉션의 끝에 도달했는지 확인합니다. hasNext() 메서드는 Iterator 인터페이스의 일부이며 컬렉션에 추가 요소가 있는지 여부를 나타내는 부울 값을 반환합니다.
반복자가 컬렉션의 끝을 결정하는 방법은 다음과 같습니다.
- 시작 위치:
- 처음에는 반복자가 컬렉션의 첫 번째 요소 앞에 위치합니다.
- hasNext() 메서드:
- hasNext() 메서드를 호출하면 현재 커서 위치 뒤에 컬렉션에 더 많은 요소가 있는지 확인합니다.
- 요소가 더 있으면 'hasNext()'는 'true'를 반환하며, 이는 'next()'를 호출하면 다음 요소를 검색함을 나타냅니다.
- 더 이상 요소가 없으면 hasNext()는 false를 반환하여 컬렉션의 끝에 도달했음을 알립니다.
- 커서 이동:
- next() 메소드를 호출하면 커서가 컬렉션의 다음 요소로 이동합니다.
- hasNext()에 대한 후속 호출은 추가 요소가 있는지 계속 확인하고 컬렉션 끝에 도달할 때까지 프로세스를 반복합니다.
간단한 예는 다음과 같습니다.
List<String> myList = new ArrayList<>();
myList.add("Element1");
myList.add("Element2");
myList.add("Element3");
Iterator<String> iterator = myList.iterator();
while (iterator.hasNext()) {
String nextElement = iterator.next();
System.out.println(nextElement);
}
이 예에서 hasNext()가 true를 반환하는 한 while 루프는 계속 반복됩니다. 모든 요소가 순회되면 hasNext()는 false를 반환하고 루프가 종료됩니다.
728x90
'Java' 카테고리의 다른 글
[Java] CompareTo 와 Comparator (1) | 2024.01.05 |
---|---|
[Java] 추상클래스와 인터페이스의 차이_2 (0) | 2024.01.04 |
[Java] Hashmap에서 entryset을 사용하는 이유 (1) | 2024.01.03 |
[Java] 추상클래스와 인터페이스의 차이 (0) | 2023.12.27 |
[Java] 인터페이스 (Interface) (2) | 2023.12.26 |