day20_IteratorEx3

육희영·2021년 11월 1일
0
package com.java1.day20;

import java.util.*;
/* Iterator?
 * 컬렉션에 저장된 각 요소에 접근하는데 사용되는 인터페이스 이다.
 * List와 Set은 Collection인터페이스의 자손이므로 바로 사용이 가능하다.
 * Map의 경우는 자손이 아니므로 Set의 형태로 얻어 온후에 호출해야 사용이 가능하다.
 * 단방향 으로만 이동이 가능하다. 그래서 컬렉션의 마지막 요소에 다다르면 더이상 사용할수 없다.
 * Enumeration 은 Iterator의 구버젼 이다. 이전 버전과의 호환을 위해서 남겨두었다.
 */
public class IteratorEx3 {
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		list.add("5");
		
		Iterator it = list.iterator();	//Iterator를 통해서 list의 요소에 접근할수 있다.
		
		while(it.hasNext()) {	//읽어올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false
			Object obj = it.next();//다음 요소를 읽어온다. next()호출전 hasNext()를 호출해서 
								   //읽어올 요소가 있는지 확인하는 것이 안전하다.	
			System.out.println(obj);
		}
	}
}

/* List클래스 들은 저장순서를 유지하기 때문에 Iterator를 이용해서 읽어온 결과역시 저장 순서와 동일.
 * Set 클래스 들은 각 요소간의 순서가 유지되지 않기 때문에 Iterator를 이용해서 저장된 요소를 읽어와도
 * 처음에 저장된 순서와 같지않다.
 */

출력결과

1
2
3
4
5

0개의 댓글

관련 채용 정보