[ 1. Java Iterator 개념 및 사용방법 ]

 

1. 정의

   - Java에서 제공하는 컬렉션(Collection)객체는 보관하고 있는 자료들을 순차적으로 접근하면서 처리할 때 사용하는 Iterator 형식을 제공하고 있다.

   - Iterator는 반복자라고 부르며 컬렉션 종류에 관계없이 같은 방법으로 프로그래밍 할 수 있게 해 준다.

 

2. 사용방법

   - Iterator 개체는 컬렉션 개체의 iterator() 메서드를 호출하여 얻어올 수 있다.

   - hasNext() 메서드로 이동이 가능한지 확인한 후에 next() 메서드로 해당 위치의 보관한 개체를 참조하여 원하는 작업을 수행한다.

 

3. 장.단점

   - 이와 같은 Iterator 개체를 사용하면 size 메서드를 얻어와서 반복 처리하는 것보다 속도에서 불리하다.

   - 이는 Iterator 개체를 사용하는 부분이 있기 때문에 불가피한 사항이다.

     하지만 컬렉션 종류에 관계없이 일관성있게 프로그래밍할 수 있다는 장점을 갖고 있다.

   - 소스 코드에 어떠한 컬렉션을 사용할 지 정해지지 않았지만 컬렉션 내에 보관한 모든 내용을 출력하는 등의 작업을 먼저 하길 원한다면 Iterator를 사용하는 것은 좋은 선택이다.

 

3. 사용가능 객체

 

 

  ArrayList arr = new ArrayList();

  Vector<> vec = new Vector<>();

 LinkedList<Memberlink = new LinkedList<Member>();

 Set<String> st     = new Set<>(String);

 ....

 과 같은 Collection 객체들

 

 

4. Iterator객체 얻기

 

  Iterator it0 = arr.iterator()//vector의 요소를 순차 검색할 객체

  Iterator<> it1 = vec.iterator<>();

  Iterator<Member> it2 = link.iterator<Member>();

  Iterator<String> it3 = st.iterator<String>();

 ...

 

 

5. while 문으로 하나씩 객체 얻기

   - hasNext() : 해당 iterator객체에 값 존재 여부(boolean)

   - next() : iterator객체의 값 얻기.

 

 while (it0.hasNext()){

    String st = (String)it0.next();

 }

 

6. 참고, for문을 통한 객체 얻기

    - 이때는 Iterator객체가 아닌 Collection객체를 사용한다.

    - for 문장이 만나면 자동으로 Collection객체의 요소를 순차적으로 얻어 온다.

 

 

 for(Member mem : link){

    mem.get();

    mem.set();

    ...

 }

 

 

 for(String stOne : st){

    System.out.println(stOne);

    ...

 }

Posted by 농부지기
,