20210704 TIL

김진태·2021년 7월 4일
0

TIL

목록 보기
20/28

Iterator

  • 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스.
메서드설명
bollean hasNext()읽어 올 요소가 남아있는지 확인한다. 있으면 true. 없으면 false를 반환
Object next()다음 요소를 읽어온다. next()를 호출하기 전에 hasNext()를 호출해서 읽어올 요소가 있는지 확인하는 것이 안전하다.

Iterator의 필요성

  • 컬렉션 종류마다 읽어오는 방법이 다르기 때문에
    그 요소들의 읽어오는 방법을 표준화 한것이 Iterator이다.
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");

Iterator it = list.iterator();

while(it.hasNext()){ // hasNext() --> bollean
		System.out.println(i.next());
}

while(it.hasNext()){ // hasNext() --> bollean
		System.out.println(i.next());
}

>>> 1,2,3,4,5,6

처음 이터레이터를 선언한 후 next()의 끝까지 도달하면 다음 와일문에서는 사용 할 수 없다. 왜냐하면 끝까지 읽었기 때문에 hasNext()에서 false가 난다.
이터레이터는 1회용!!

Map과 Iterator

  • Map에는 iterator()가 없다.
    Map은 컬렉션인터페이스의 자손이 아니기 때문!
  • 그래서 keySet(),entrySet(), values() 를 호출해야 한다.
Map map = new HashMap();
	Iterator it = map.entrySet().iterator(); 
profile
안녕!

0개의 댓글