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

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

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

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

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

import java.util.Iterator;
import java.util.NoSuchElementException;
/**
 * 演示Iterator和Iterable接口,并說(shuō)明怎樣編寫(xiě)一個(gè)用于對(duì)象數(shù)組的簡(jiǎn)單迭代器。
 */
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()語(yǔ)句將成功執(zhí)行。
   * 否則返回false,執(zhí)行if next()語(yǔ)句會(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)文件上傳和下載的方法詳解

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

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

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

    Java中的常用輸入輸出語(yǔ)句的操作代碼

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

    Spring?AOP概念及原理解析

    這篇文章主要介紹了Spring?AOP概念及原理?,通過(guò)使用?Spring?AOP?實(shí)現(xiàn)日志管理,我們可以將日志記錄的邏輯從業(yè)務(wù)邏輯中分離出來(lái),簡(jiǎn)化了代碼的維護(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的全過(guò)程

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

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

    Java中Lombok常用注解分享

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

    Java壓縮文件操作詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言進(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ù)字的全排列,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論

南和县| 澳门| 丘北县| 乐安县| 靖西县| 巧家县| 松滋市| 东乡族自治县| 长顺县| 常熟市| 万山特区| 乃东县| 上思县| 苏州市| 通海县| 平潭县| 揭阳市| 凤冈县| 山西省| 双鸭山市| 胶州市| 自贡市| 阳高县| 松江区| 兴化市| 安义县| 汉源县| 神木县| 镇坪县| 中江县| 美姑县| 濮阳市| 南川市| 遵义县| 阿城市| 朝阳区| 贺兰县| 米林县| 临沭县| 苏尼特右旗| 介休市|