본문 바로가기
Language/Java

[자바 기본 개념] 컬렉션(Collection) - Iterator / 예제

by 나비와꽃기린 2016. 6. 22.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

1.3 Iterator

-Vector<E>, ArrayList<E>, LinkedList<E>가 상속받는 인터페이스

-리스트 구조의 컬렉션에서 요소의 순차 검색을 위한 메소드 포함

-iterator()를 호출하면 Iterator 객체 반환



-자바의 컬렉션에 저장되어 있는 요소들을 읽어오는 방법의 인터페이스

, 쉽게 컬렉션으로부터 정보를 얻어내는 인터페이스다.


1. 비유

이터레이터를 쉽게 비유한 글이 있길래 가져왔다 (http://bitnori.tistory.com/entry/JAVA-JAVA-ITERATOR-%EC%9E%90%EB%B0%94-%EC%9D%B4%ED%84%B0%EB%A0%88%EC%9D%B4%ED%84%B0)


- 우리가 책을 보관하는 책장(컬렉션)이 있고, 그 곳에는 책(컬렉션 안에 들어갈 객체)이 있습니다.

- 이 책장은 도서관 사서(이터레이터)가 관리하게 됩니다.

- 사서는 단순 무지한 녀석이라 책장 처음부터 끝까지 한번에 하나씩 밖에 못 가져옵니다.


2. Iterator mehtod

(1) hasNext() : 다음 요소에 읽어 올 요소가 있는지? 확인하는 메소드.

있으면 true를 없으면 false를 반환한다

(2) next() : 다음 요소를 가져온다.

(3) remove() : next()로 읽어온 요소를 삭제한다.


3. 예제


     

public static void main(String[] args) {
	
		List list= new ArrayList();
		
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
		list.add("5");
		list.add("6");

												// 이터레이터 객체 itr는 list 값들을 가져온다.
	    Iterator <string> itr = list.iterator(); // 모든 컬렉션 안에는 iterator()메서드가 있다.
	    
	    while (itr.hasNext()) { // 값이 나올때까지 판단하여 while문을 돈다.
	      String str = itr.next(); // 문자열 변수 str에 값을 하나씩 넣는다.
	      System.out.println(str);
	    }
	}

<결과>

1

2

3

4

5

6