(行为型模式八)迭代器模式

来源:互联网 发布:java 命令打包成jar包 编辑:程序博客网 时间:2024/06/05 21:13
package com.eyugame.modle;import java.util.ArrayList;import java.util.List;/** * 迭代器模式 * @author JYC506 * * @param <T> *//*自定义迭代器*/public class MyIterator<T> implements Iterator<T> {private List<T> list = new ArrayList<T>();private int cursor;public MyIterator(List<T> list) {super();this.list = list;this.cursor=0;}@Overridepublic boolean hasNext() {if (this.cursor < list.size()) {return true;}return false;}@Overridepublic T next() {T t = list.get(cursor);cursor++;return t;}public static void main(String[] args) {MyList<User> list=new MyList<User>();list.add(new User("小明",9));list.add(new User("小红",7));list.add(new User("小丽",8));Iterator<User> iterator=list.iterator();while(iterator.hasNext()){User user=iterator.next();System.out.println("姓名:"+user.getUsername()+"  年龄"+user.getAge());}}}interface Iterator<T> {boolean hasNext();T next();}/*自定义列表*/class MyList<T>{List<T> list=new ArrayList<T>();public void add(T t){list.add(t);}public void remove(T t){list.remove(t);}public Iterator<T> iterator(){return new MyIterator<>(list);}}class User {private String username;private int age;public User(String username, int age) {super();this.username = username;this.age = age;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

0 0
原创粉丝点击