迭代器模式封装了对各种集合的遍历操作,让其他对象在遍历不同的集合时,可以使用迭代器,从而减少重复代码。
eg:
若是没有迭代器
那么如果在一个方法中需要遍历ArrayList和数组,就需要写两次循环
for(int i =0; i < list.size(); i++){Object o = list.get(i)}for(int i =0, i < array.length; i++){Object o = array[i];}
有了迭代器之后,可以封装遍历的方法
eg:
//不管是什么集合,只需要使用它的迭代器来遍历publicvoidprintMenu(MyIterator iterator){while(iterator.hasNext()){MenuItem item =(MenuItem)iterator.next();System.out.println(item.getName()+ item.getPrice());}}