23种设计模式:迭代器模式
作者:互联网
迭代器模式
1.介绍
概念
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
迭代器模式属于行为型模式。
主要作用
提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示。
解决的问题
不同的方式来遍历整个整合对象。
使用场景
1、访问一个聚合对象的内容而无须暴露它的内部表示。 2、需要为聚合对象提供多种遍历方式。 3、为遍历不同的聚合结构提供一个统一的接口。
(引用自菜鸟教程)
2.实现
背景
类UsernameList用来储存用户的姓名,利用迭代器模式创建一个迭代器类用来遍历UsernameList。
实现步骤
1.创建Iterator接口
public interface Iterator {
public boolean hasNext();
public Object next();
}
2.创建Container接口
public interface Container {
public Iterator getIterator();
}
3.创建USernameList
public class UsernameList implements Container{
private String[] usernames = {"zhangsan", "lisi", "wangwu"};
@Override
public Iterator getIterator() {
return new UserIterator(usernames);
}
}
4. 创建UserIterator类
public class UserIterator implements Iterator{
String[] usernames;
int index;
public UserIterator(String[] usernames) {
this.usernames = usernames;
}
@Override
public boolean hasNext() {
if (index < usernames.length) {
return true;
}
return false;
}
@Override
public Object next() {
if (index < usernames.length) {
return usernames[index++];
}
return null;
}
}
5.创建测试类
public class IteratorPatternDemo {
public static void main(String[] args) {
UsernameList usernameList = new UsernameList();
Iterator iterator = usernameList.getIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
6.运行结果
zhangsan
lisi
wangwu
标签:usernames,return,迭代,Iterator,23,设计模式,UsernameList,public 来源: https://blog.csdn.net/qq_49723651/article/details/120469931