最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)的自定義迭代器功能示例

 更新時(shí)間:2017年04月05日 12:00:13   作者:FrankYou  
這篇文章主要介紹了Java實(shí)現(xiàn)的自定義迭代器功能,結(jié)合具體實(shí)例形式分析了java簡單迭代器的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的自定義迭代器功能。分享給大家供大家參考,具體如下:

編寫自己的Iterator,實(shí)現(xiàn)Iterator接口,這里多說一句,實(shí)現(xiàn)Iterable后,可以用“foreach”循環(huán)遍歷你的對(duì)象。

import java.util.Iterator;
import java.util.NoSuchElementException;
/**
 * 演示Iterator和Iterable接口,并說明怎樣編寫一個(gè)用于對(duì)象數(shù)組的簡單迭代器。
 */
public class AarrayIterator<T> implements Iterable<T>, Iterator<T> {
  private final static String[] names = {"rose", "petunia", "tulip"};
  public static void main(String[] args) {
    AarrayIterator<String> arrayIterator = new AarrayIterator<>(names);
    // Java 5,6的方式
    for (String s : arrayIterator) {
      System.out.println(s);
    }
    // Java 8的形式
    arrayIterator.forEach(System.out::println);
  }
  /**
   * 要遍歷的數(shù)據(jù)
   **/
  protected T[] data;
  protected int index = 0;
  /**
   * 構(gòu)造一個(gè)AarryIterator對(duì)象。
   *
   * @param data 被迭代的對(duì)象數(shù)組
   */
  public AarrayIterator(final T[] data) {
    setData(data);
  }
  /**
   * 設(shè)置(重置)數(shù)組為給定的數(shù)組,重置迭代器。
   * 參數(shù)d代表被迭代的數(shù)組對(duì)象。
   *
   * @param d 被迭代的數(shù)組對(duì)象
   */
  public void setData(final T[] d) {
    this.data = d;
    index = 0;
  }
  /**
   * 如果不是末尾,返回true,例如,if next()語句將成功執(zhí)行。
   * 否則返回false,執(zhí)行if next()語句會(huì)拋出異常。
   *
   * @return
   */
  public boolean hasNext() {
    return index < data.length;
  }
  /**
   * 返回該數(shù)據(jù)的下一個(gè)元素
   *
   * @return
   */
  public T next() {
    if (hasNext()) {
      return data[index++];
    }
    throw new NoSuchElementException("only " + data.length + " elements");
  }
  public void remove() {
    throw new UnsupportedOperationException("This demo Iterator does not implement the remove method");
  }
  /**
   * Iterator的方法
   *
   * @return
   */
  public Iterator<T> iterator() {
    index = 0;
    return this;
  }
}

執(zhí)行結(jié)果:

rose
petunia
tulip
rose
petunia
tulip

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java實(shí)現(xiàn)圖片拼接

    Java實(shí)現(xiàn)圖片拼接

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖片拼接的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Java實(shí)現(xiàn)文件上傳和下載的方法詳解

    Java實(shí)現(xiàn)文件上傳和下載的方法詳解

    文件上傳,也稱為upload,是指將本地圖片、視頻、音頻等文件上傳到服務(wù)器上。文件下載,也稱為download,是指將文件從服務(wù)器傳輸?shù)奖镜赜?jì)算機(jī)的過程。本文將用Java實(shí)現(xiàn)文件上傳和下載,需要的可以參考一下
    2022-09-09
  • 關(guān)于Spring事務(wù)隔離、傳播屬性與@Transactional注解

    關(guān)于Spring事務(wù)隔離、傳播屬性與@Transactional注解

    這篇文章主要介紹了關(guān)于事務(wù)隔離、Spring傳播屬性與@Transactional注解,如果一組處理步驟或者全部發(fā)生或者一步也不執(zhí)行,我們稱該組處理步驟為一個(gè)事務(wù),需要的朋友可以參考下
    2023-05-05
  • Java中的常用輸入輸出語句的操作代碼

    Java中的常用輸入輸出語句的操作代碼

    這篇文章主要介紹了Java中的常用輸入輸出語句的操作代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Spring?AOP概念及原理解析

    Spring?AOP概念及原理解析

    這篇文章主要介紹了Spring?AOP概念及原理?,通過使用?Spring?AOP?實(shí)現(xiàn)日志管理,我們可以將日志記錄的邏輯從業(yè)務(wù)邏輯中分離出來,簡化了代碼的維護(hù),需要的朋友可以參考下
    2024-07-07
  • java、freemarker保留兩位小數(shù)

    java、freemarker保留兩位小數(shù)

    這篇文章主要介紹了 java、freemarker保留兩位小數(shù)的實(shí)現(xiàn)方法,然后給大家補(bǔ)充介紹了freemarker保留兩位小數(shù)的詳解,需要的朋友可以參考下
    2017-03-03
  • Java實(shí)現(xiàn)Word轉(zhuǎn)PDF的全過程

    Java實(shí)現(xiàn)Word轉(zhuǎn)PDF的全過程

    在IT領(lǐng)域,文檔格式轉(zhuǎn)換是常見的任務(wù)之一,特別是在管理大量文本數(shù)據(jù)時(shí),本文將詳細(xì)探討如何利用Java技術(shù)將Word文檔(.docx)轉(zhuǎn)換成PDF格式,需要的朋友可以參考下
    2025-04-04
  • Java中Lombok常用注解分享

    Java中Lombok常用注解分享

    以前的Java項(xiàng)目中充斥了太多不友好的代碼,這些代碼不僅沒有什么技術(shù)含量,還影響代碼的美觀,所以Lombok應(yīng)運(yùn)而生了。本文和大家分享了一些Java中Lombok常用注解,需要的可以了解一下
    2023-04-04
  • Java壓縮文件操作詳解

    Java壓縮文件操作詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語言進(jìn)行壓縮文件操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-08-08
  • Java實(shí)現(xiàn)n位數(shù)字的全排列

    Java實(shí)現(xiàn)n位數(shù)字的全排列

    今天小編就為大家分享一篇關(guān)于Java實(shí)現(xiàn)n位數(shù)字的全排列,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評(píng)論

吴忠市| 轮台县| 宁陵县| 游戏| 丰台区| 松原市| 淮安市| 兴业县| 岳西县| 南乐县| 区。| 长汀县| 太湖县| 赤城县| 托克逊县| 丰原市| 互助| 西城区| 搜索| 黄石市| 德安县| 延长县| 湘乡市| 吴川市| 汪清县| 庆城县| 确山县| 颍上县| 德钦县| 肃北| 山丹县| 鹿泉市| 锡林浩特市| 乌兰浩特市| 盐山县| 大洼县| 思茅市| 仪陇县| 芒康县| 巴南区| 忻城县|