우디의 개발스터디

[Java] Iterator 개념 및 사용법

by 개발자 우디

Iterator 란

Iterator 는 자바에서 Collection 객체의 값을 가져오거나 조작할 때 사용하는 인터페이스 객체이다.

Collection 객체는 대표적으로 List, Set, map, Queue 등이 있다.

 

Iterator의 장점으로는 모든 컬렉션 프레임워크에 공통으로 사용 가능이 가능하기 때문에 코드 개발 및 유지보수에 용이하다.

단점으로는 반복을 수행하는 동안 단방향 반복만 가능하고, 중간에 값을 변경하거나 추가가 불가능하다.

또한 대량의 데이터를 제어하려고 하면 성능이 떨어진다.

 

 

코드 예시

JSONObject jsonObj = (JSONObject)jsonArray1.get(i);
Iterator<String> iterator = jsonObj.keySet().iterator();
ArrayList<String> keyList = new ArrayList();

while(iterator.hasNext()){
    String temp = iterator.next(); // 다음 순서 가져옴
    keyList.add(temp); // 다른 컬렉션에 추가
    iterator.remove(temp); // 삭제
}

 

 

Iterator 활용 함수

Iterator.hasNext()

Iterator 안에 다음 값이 들어있는지 확인한다. 존재하면 True, 없으면 False 를 Return 한다.

Iterator.next()

iterator의 다음 값을 가져온다.

Iterator.remove()

iterator에서 next() 함수 호출 시 가져온 값을 컬렉션(List, Set, Map) 등에서 삭제한다.

 

블로그의 정보

우디의 개발스터디

개발자 우디

활동하기