[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) 등에서 삭제한다.
블로그의 정보
우디의 개발스터디
개발자 우디