Java/Design Pattern

[헤드퍼스트 디자인 패턴] 9-1. 반복자 패턴

noahkim_ 2024. 12. 18. 19:38

에릭 프리먼 님의 "헤드퍼스트 디자인 패턴" 책을 정리한 포스팅 입니다

 

1. 반복자 패턴

  • 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법

 

필요할 경우
  • 클라이언트 코드에서 처리하는 코드가 제각각임
  • 인터페이스 통합이 필요함

 

2. Iterator

  • 반복을 캡슐화하기
for (int i = 0; i < breakfastItems.size(); i++) {
    MenuItem menuItem = breakfastItems.get(i);
}
for (int i = 0; i < lunchItems.length; i++) {
    MenuItem menuItem = lunchItems[i];
}

 

Iterator iterator = breakfastMenu.createIterator();

while (iterator.hasNext()) {
    MenuItem menuItem = iterator.next();
}
Iterator iterator = lunchMenu.createIterator();

while (iterator.hasNext()) {
    MenuItem menuItem = iterator.next();
}