-
[JAVA] Iterator Method 관련 내용JAVA 2022. 8. 18. 09:30728x90반응형
컬렉션에 저장된 데이터를 접근하는 데 사용되는 인터페이스를 의미합니다.
- ListIterator(양방향)은 Iterator(단방향)의 접근성을 향상한 것이다.
Iterator Method
- boolean hasNext() : 읽어 올 요소가 남아 있는지 확인 ( 있다면 true, 없다면 false)
- Object next() : 다음 요소를 읽어온다.
- hasNext()로 요소가 있는지 확인하고 next()를 사용하는 게 안정적이다.
- void remove() : 요소를 삭제한다.
- next() 호출 후 remove()를 호출해야 한다.
- void forEachRemaining(Consumer<?super E> action)
- 컬렉션에 남아있는 요소들에 대해 지정된 작업(action)을 수행한다. (람다식을 사용하는 디폴트 메서드)
Iterator의 특징
컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
- 컬렉션에는 List, Set, Map 각각 다양한 구조를 가지고 있기 때문에 표준화가 필요하다.
- 컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용한다.
// 예시 List list = new ArrayList(); Iterator it = list.iterator(); // iterator 인스턴스 생성 while(it.hasNext()){ // 읽어올 요소가 있는지 확인 System.out.println(int.next()); // 다음 요소 읽기 }
Map은 Iterator()를 그냥 사용할 수 없다.
Map에서는 Iterator()를 사용할 수 없기 때문에 keySet(), entrySet(), values()를 사용한다.
- Set, Set, Collection이기 때문에 이제 Iterator()를 사용할 수 있다.
// 예시 Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while(it.hasNext()){ System.out.println(it.next()); }
728x90반응형'JAVA' 카테고리의 다른 글
[JAVA] TreeSet (0) 2022.08.19 [JAVA] HashSet (0) 2022.08.18 [JAVA] Collection Framework 정리 (0) 2022.08.17 [Java1000제] 콘솔 만들기 - 남궁성의 초보 코드 스터디 (1) 2022.08.12 Java.lang 패키지 요약 (Object, String, StringBuffer) (1) 2022.08.10