亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Iterator ------迭代器

2019-11-08 19:51:58
字體:
來源:轉載
供稿:網友

Iterator ——迭代器

程序示例

Aggregate 接口

// 建立一個可對應聚合的iteratorpublic interface Aggregate { public Iterator Iterator();}

Iterator 接口

public interface Iterator { public boolean hasNext(); public Object next();}

Book 類

public class Book { PRivate String name = ""; public Book(String name) { this.name = name; } public String getName() { return name; }}

BookShelf 類

public class BookShelf implements Aggregate { private Book[] books; private int last = 0; public BookShelf(int maxsize) { this.books = new Book[maxsize]; } public Book getBookAt(int index) { return books[index]; } public void appendBook(Book book) { this.books[last] = book; last++; } public int getLength() { return last; } public Iterator iterator() { return new BookShelfIterator(this); }}

BookShelfIterator 類

public class BookShelfIterator implements Iterator { private BookShelf bookShelf; private int index; public BookShelfIterator(BookShelf bookShelf) { this.bookShelf = bookShelf; this.index = 0; } public boolean hasNext() { if (index < bookShelf.getLength()) { return true; } else { return false; } } public Object next() { Book book = bookShelf.getBookAt(index); index++; return book; }}

Main 類

public class Main { public static void main(String[] args) { BookShelf bookShelf = new BookShelf(4); bookShelf.appendBook(new Book("Around the World in 80 Days")); bookShelf.appendBook(new Book("Bible")); bookShelf.appendBook(new Book("Cinderella")); bookShelf.appendBook(new Book("Daddy-Long-Legs")); Iterator iterator = bookShelf.iterator(); while (iterator.hasNext()) { Book book = (Book)iterator.next(); System.out.println("" + book.getName()); } }}

Iterator Pattern 的所有參與者

Iterator(迭代器) 參與者ConcreteIterator(具體迭代器) 參與者Aggregate(聚合) 參與者ConcreteAggregate(具體聚合) 參與者

擴展自我視野的提示

無論實現結果如何,都能使用Iterator

設計Pattern的目的就是為了提高類的復用率。提高復用率則是指吧類當作一個零件來使用,只要修改某一個零件,就不需要大費周章去修改其他的零件。

抽象類、接口實在很難搞

過度依賴具體類反而會提高類與類的耦合度,增加零部件復用的困難。為了降低耦合度,讓類作為零部件再利用,必須引進抽象類和接口的概念。

“下一個”容易搞錯

返回現在的元素,同時進行到下一個位置。

練習題

問題1

若書籍數量超過最先設定的書架大小,就無法繼續把書放上去。請利用java.util.Vector取代數組,把程序改成即使已經超過書架容量也能繼續新增書籍。

答案

import java.util.Vector;public class BookShelf implements Aggregate { private Vector books; public BookShelf(int initialsize) { this.books = new Vector(initialsize); } public Book getBookAt(int index) { return (Book)books.get(index); } public void appendBook(Book book) { books.add(book); } public int getLength() { return books.length; } public Iterator iterator() { return new BookShelfIterator(this); }}
上一篇:專題七-樹

下一篇:泛型接口和方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
伊人久久五月天| 欧美国产在线视频| 欧美激情视频给我| 久久久久日韩精品久久久男男| 精品久久久久久| 亚洲缚视频在线观看| 在线成人一区二区| 亚洲一区二区少妇| 中文字幕日韩欧美| 亚洲成人中文字幕| 日本精品视频在线播放| 97人洗澡人人免费公开视频碰碰碰| 精品视频在线播放| 亚洲视频在线观看网站| 亚洲国产欧美一区二区丝袜黑人| 97国产真实伦对白精彩视频8| 中文亚洲视频在线| 国产成人精品a视频一区www| 中文字幕亚洲综合| 久久99热这里只有精品国产| 亚洲xxxx在线| 18一19gay欧美视频网站| 97精品国产aⅴ7777| 日韩电影免费观看中文字幕| 精品自拍视频在线观看| 精品国产电影一区| 亚洲男人的天堂在线| 亚洲日本欧美中文幕| 欧美视频13p| 久久青草精品视频免费观看| 久久久久久网站| 国产成人亚洲综合91精品| 日韩av片免费在线观看| 亚洲电影av在线| 成人免费看吃奶视频网站| 亚洲色图狂野欧美| 久久久免费高清电视剧观看| 国产精品99免视看9| 国产极品精品在线观看| 亚洲欧美日韩国产精品| 欧美一级视频在线观看| 亚洲嫩模很污视频| 国产成人自拍视频在线观看| 色综合久久精品亚洲国产| 日韩视频免费大全中文字幕| 亚洲激情视频网| 精品国产区一区二区三区在线观看| 亚洲国产精品久久精品怡红院| 欧美在线观看网站| 午夜精品久久久久久99热| 97视频在线观看播放| 欧美巨大黑人极品精男| 国产精品久久久久久久久久久新郎| 日韩午夜在线视频| 91色琪琪电影亚洲精品久久| 亚洲精品久久7777777| 亚洲国产欧美一区二区三区久久| 久久久久九九九九| 国内精品中文字幕| 国产成人一区二区在线| 亚洲一区二区三区777| 一区二区三区四区精品| www.日韩av.com| 国产99久久精品一区二区 夜夜躁日日躁| 日韩中文字幕视频在线观看| 亚洲a在线观看| 狠狠躁夜夜躁人人躁婷婷91| 久久国产色av| 国产精品成av人在线视午夜片| 欧美黄色性视频| 中文字幕欧美国内| 中文字幕欧美在线| 日韩有码视频在线| 亚洲成人久久电影| 91精品国产自产在线| 亚洲成人网在线观看| 国产精品自拍网| 69精品小视频| 亚洲免费视频网站| 国产亚洲精品高潮| 午夜精品在线视频| 中文字幕精品网| 精品一区二区亚洲| 国产精品一区二区三| 日韩黄色av网站| 国产97在线视频| 亚洲最新av网址| 日韩精品在线视频| 欧美一二三视频| 92看片淫黄大片看国产片| 欧美亚洲成人精品| 久久亚洲春色中文字幕| 久久精品色欧美aⅴ一区二区| 欧美电影在线播放| 国产精品极品尤物在线观看| 日韩成人在线视频| 欧美精品久久久久久久免费观看| 国产精品流白浆视频| 久久精品影视伊人网| 午夜精品福利视频| 国产亚洲精品91在线| 欧美性xxxxx极品娇小| 亚洲天堂网在线观看| 日韩av快播网址| 国产成人免费av| 亚洲欧洲免费视频| 国产精品国产亚洲伊人久久| 蜜臀久久99精品久久久无需会员| 日韩福利伦理影院免费| 欧美日韩一区二区三区在线免费观看| 全亚洲最色的网站在线观看| 国产欧美日韩精品专区| 国产欧美日韩丝袜精品一区| 中文字幕日韩在线观看| 国产亚洲精品美女| xvideos成人免费中文版| 51精品国产黑色丝袜高跟鞋| 亚洲第一国产精品| 精品国偷自产在线视频99| 欧美孕妇与黑人孕交| 九九精品在线播放| 国产精品私拍pans大尺度在线| 成人中心免费视频| 国产丝袜视频一区| 成人国内精品久久久久一区| 久久在线视频在线| 91在线视频成人| 日韩av电影院| 欧美老女人性生活| 日韩精品免费在线| 成人在线播放av| 国产欧美久久一区二区| 精品久久久久久中文字幕一区奶水| 国产精品高清免费在线观看| 日韩成人在线播放| 亚洲天堂网在线观看| 国产不卡精品视男人的天堂| 国产性猛交xxxx免费看久久| 在线观看91久久久久久| 亚洲免费影视第一页| 久久精品国产亚洲| 亚洲精品福利在线观看| 精品国产依人香蕉在线精品| 亚洲成人久久久| 在线看福利67194| 久久久久北条麻妃免费看| 国产在线98福利播放视频| 日韩精品免费在线| 欧美美女15p| 日本精品久久久| 亚洲国产精品va| 欧美激情2020午夜免费观看| 欧美性猛交xxxx免费看漫画| 日韩av电影国产| 欧美麻豆久久久久久中文| 日韩电影免费观看在线观看| 永久555www成人免费| 欧洲成人性视频| 精品视频一区在线视频| www高清在线视频日韩欧美| 国产欧美日韩亚洲精品| 在线中文字幕日韩| 国产精品91久久久久久| 欧美激情二区三区|