国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

輕松掌握J(rèn)ava迭代器模式

2019-11-26 13:46:46
字體:
供稿:網(wǎng)友

定義:用于順序訪問集合對(duì)象的元素,不需要知道集合對(duì)象的底層表示。

特點(diǎn):

    1、它支持以不同的方式遍歷一個(gè)聚合對(duì)象。

    2、迭代器簡化了聚合類。

    3、在同一個(gè)聚合上可以有多個(gè)遍歷。

    4、在迭代器模式中,增加新的聚合類和迭代器類都很方便,無須修改原有代碼。

企業(yè)級(jí)開發(fā)和常用框架中的應(yīng)用:java集合都實(shí)現(xiàn)了迭代器

具體實(shí)例:

public class Demo { public static void main(String[] args) { ActualContainer container = new ActualContainer(); for(int i = 5 ; i < 20 ; i++){  container.add(i); }  Iterator iterator = container.iterator(); while(iterator.hasNext()){  System.out.println(iterator.next()); } }}/** * 迭代器接口,包含有常用的迭代器方法  */interface Iterator{ public boolean hasNext();  public Object next();}/** * 容器接口:包含有獲取迭代器的方法  */interface Container{ public Iterator iterator();}/** * 具體實(shí)現(xiàn)類 * @author jiaoyuyu * */class ActualContainer implements Container{ private List<Object> list = new ArrayList<>();  public void add(Object obj){ this.list.add(obj); }  public void remove(Object obj){ this.list.remove(obj); }  public Object get(int index){ if(index <= (this.list.size() - 1)){  return this.list.get(index); } return null; }   public Iterator iterator() { return new ActualIterator(); }  private class ActualIterator implements Iterator{ private int pointer = 0;  public boolean hasNext() {  return this.pointer < list.size() ? true : false; } public Object next() {  if(this.pointer < list.size()){  Object obj = list.get(pointer);  pointer++;  return obj;  }  return null; }  }}

迭代器模式屬于比較簡單的模式,主要用于遍歷集合一類的對(duì)象。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南江县| 和田县| 芒康县| 旅游| 海门市| 开原市| 儋州市| 大庆市| 永善县| 子洲县| 六安市| 全椒县| 锡林郭勒盟| 德令哈市| 荆州市| 福泉市| 开封市| 常州市| 中西区| 武宣县| 北海市| 久治县| 滨海县| 禹州市| 观塘区| 金昌市| 元谋县| 淅川县| 满洲里市| 宿松县| 区。| 长岭县| 岱山县| 蒲城县| 闽侯县| 富蕴县| 万年县| 诏安县| 万年县| 文登市| 自贡市|