日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

迭代子模式(Iterator)

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 迭代子模式(Iterator) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

???????? 顧名思義,迭代器模式就是順序訪問聚集中的對(duì)象,一般來說,集合中非常常見,如果對(duì)集合類比較熟悉的話,理解本模式會(huì)十分輕松。這句話包含兩層意思:一是需要遍歷的對(duì)象,即聚集對(duì)象,二是迭代器對(duì)象,用于對(duì)聚集對(duì)象進(jìn)行遍歷訪問。我們看下關(guān)系圖:

??????

????

public interface Collection { public Iterator iterator(); /*取得集合元素*/ public Object get(int i); /*取得集合大小*/ public int size(); }

?

  • public?interface?Iterator?{??
  • ????//前移??
  • ????public?Object?previous();??
  • ??????
  • ????//后移??
  • ????public?Object?next();??
  • ????public?boolean?hasNext();??
  • ??????
  • ????//取得第一個(gè)元素??
  • ????public?Object?first();??
  • }??
  • ?

  • public?class?MyCollection?implements?Collection?{??
  • ??
  • ????public?String?string[]?=?{"A","B","C","D","E"};??
  • ????@Override??
  • ????public?Iterator?iterator()?{??
  • ????????return?new?MyIterator(this);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?Object?get(int?i)?{??
  • ????????return?string[i];??
  • ????}??
  • ??
  • ????@Override??
  • ????public?int?size()?{??
  • ????????return?string.length;??
  • ????}??
  • }??

  • ?

  • public?class?MyIterator?implements?Iterator?{??
  • ??
  • ????private?Collection?collection;??
  • ????private?int?pos?=?-1;??
  • ??????
  • ????public?MyIterator(Collection?collection){??
  • ????????this.collection?=?collection;??
  • ????}??
  • ??????
  • ????@Override??
  • ????public?Object?previous()?{??
  • ????????if(pos?>?0){??
  • ????????????pos--;??
  • ????????}??
  • ????????return?collection.get(pos);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?Object?next()?{??
  • ????????if(pos<collection.size()-1){??
  • ????????????pos++;??
  • ????????}??
  • ????????return?collection.get(pos);??
  • ????}??
  • ??
  • ????@Override??
  • ????public?boolean?hasNext()?{??
  • ????????if(pos<collection.size()-1){??
  • ????????????return?true;??
  • ????????}else{??
  • ????????????return?false;??
  • ????????}??
  • ????}??
  • ??
  • ????@Override??
  • ????public?Object?first()?{??
  • ????????pos?=?0;??
  • ????????return?collection.get(pos);??
  • ????}??
  • ??
  • }??
  • ?

    ?

  • public?class?Test?{??
  • ??
  • ????public?static?void?main(String[]?args)?{??
  • ????????Collection?collection?=?new?MyCollection();??
  • ????????Iterator?it?=?collection.iterator();??
  • ??????????
  • ????????while(it.hasNext()){??
  • ????????????System.out.println(it.next());??
  • ????????}??
  • ????}??
  • }??
  • ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的迭代子模式(Iterator)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。