设计原则与模式014 迭代器模式

迭代器模式: 提供一种方法访问一个容器中的各个对象,同时不需要暴露该对象的内部细节

其uml图如下

作为一个java讲迭代器模式并不是纯粹的说这个模式,而是让大家加深对Iterator接口的理解,Collection如何接口迭代器接口;

单从java语言的角度来说,这个模式甚至由设计模式转变成了一种工具;

这个模式在java中基本成为了工具,所以不推荐独自设计开发,可以通过该模式来了解集合中的迭代器接口

 

 

我们看如何实现一个迭代器

现在假设有书包 ,书本,和遍历书需要,迭代器的核心功能就是封装对原有集合的访问细节,并提供对该集合的访问能力

public interface Iterator{
 public boolean haveNext();
 public Book next();
}
public interface  Bag{
 public  add(Book book);
 public take(Book book);
 public Iterator iterator();
}
public class ClassOneBag{
 private  List<Book> books = new List();
 public  add(Book book){
   books.add(book);
 }
 public take(Book book){
     books.remove(book);
 }
 public Iterator iterator(){
    return new BookIterator(books);
 }

}
public interface BookIterator{
 private  List<Book> books = new List();
 public boolean haveNext(){
 }
 public Book next(){
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值