자바 - 반복자(Iterator)
업데이트:
반복자(Iterator)
반복자(이하 Iterator)패턴이란?
-
객체 목록을 관리하는 컬렉션(collection)에서 목록조회 기능을 별도의 객체로 캡슐화하는 설계 기법이다.
-
컬렉션의 관리 방식(data structure)에 상관없이 일관된 목록 조회 방법을 제공할 수 있다.
-
컬렉션을 변경하지 않고도 다양한 방식의 목록 조회 기법을 추가할 수 있다.
즉, 반복자는 컬렉션 종류와 관계없이 코드에 일관성을 부여하여 유지보수를 쉽게 만든다.
Iterator 의 메서드
- hasNext() : boolean타입으로 다음 데이터가 있으면 true, 없으면 false를 리턴한다.
- next() : hasNext() 가 true를 리턴하면 next()로 값을 꺼낸다.
- remove() : next() 메서드로 호출한 데이터를 삭제한다.
Iterator 예제
Stack<String> stack = new Stack<>();
stack.push("aaa");
stack.push("bbb");
stack.push("ccc");
stack.push("ddd");
stack.push("eee");
Iterator<String> iterator = stack.iterator();
while(iterator.hasNext()){
System.out.println("iterator.next()");
}
//결과 : eee, ddd, ccc, bbb, aaa
댓글남기기