본문 바로가기

개발공부/JAVA

[JAVA] Iterator 알아보기

Iterator

1. 어느 Collection 객체에도 적용가능 하기 때문에 유지보수/ 확장성 쉽다.

2. 반복적인 일을 맡는 인터페이스 

 

Iterator의 Method

hasNext() return값 : 다음 값이 있으면 true / 아니면 false 
next() return값 :다음 객체 
remove() 삭제!

 

Iterator의 예시

- 들어있는 data값 출력

 

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;

public class test {

	public static void main(String args[]) {

		System.out.println("Arraylist---------------------");
		ArrayList<Integer> list = new ArrayList<Integer>();
		list.add(3);
		list.add(5);
		list.add(1);
		list.add(9);
		
		Iterator<Integer> al_iter = list.iterator();
		
		while(al_iter.hasNext()) {
			System.out.print(al_iter.next()+" ");
		}
		
		System.out.println("");
		System.out.println("Vector---------------------");
		//vector는 확장 가능한 배열로 자동으로 저장소 크기 늘릴수 있음
		//요소 값이 중간에 삽입 가능해서 그 다음 요소들은 그 뒤로 자동으로 이동
		Vector<String> vector = new Vector<String>();
		vector.add("하이1");
		vector.add("하이2");
		vector.add(1,"하이3");
		vector.add("하이4");
		
		Iterator<String> vec_iter = vector.iterator();
		while(vec_iter.hasNext()) {
			System.out.print(vec_iter.next()+" ");
		}
		
		System.out.println("");
		System.out.println("HashMap---------------------");
		HashMap<Integer,String> hashmap = new HashMap<Integer,String>();
		hashmap.put(1, "one");
		hashmap.put(2, "two");
		hashmap.put(3, "three");
		
		Iterator<Integer> hash_iter = hashmap.keySet().iterator();
		
		while(hash_iter.hasNext()) {
			Integer key = hash_iter.next();
			System.out.println("key: "+key+" value: "+hashmap.get(key));
		}
		
	}
}

결과