中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Java迭代器實現一個range功能

發布時間:2021-01-28 09:52:11 來源:億速云 閱讀:311 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關如何使用Java迭代器實現一個range功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

Range 類實現了Python中的range的所有用法,如:range(10),range(5, 10),range(10, 0, -1),range(0, 10, 2)

如果再在 Range 類中定義靜態的工廠方法,然后再靜態導入工廠方法,就可以更方便地使用了。

使用實例:

for (int x : new Range(10, 0, -1)) {
  System.out.println(x);
}
/* 輸出:
10
9
8
7
6
5
4
3
2
1
*/

代碼:

class Range implements Iterable<Integer> {
  private final int start;
  private final int end;
  private final int step;
 
  public Range(int end) {
    this(0, end, 1);
  }
 
  public Range(int start, int end) {
    this(start, end, 1);
  }
 
  public Range(int start, int end, int step) {
    this.start = start;
    this.end = end;
    this.step = step;
  }
 
  @Override
  public Iterator<Integer> iterator() {
    return new Itr();
  }
  private class Itr implements Iterator<Integer> {
    int current = start;
    @Override
    public boolean hasNext() {
      return step > 0 ? current < end : current > end;
    }
 
    @Override
    public Integer next() {
      int t = current;
      current += step;
      return t;
    }
  }
}

關于如何使用Java迭代器實現一個range功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大理市| 南召县| 方城县| 漠河县| 禄劝| 林芝县| 武穴市| 余姚市| 彰化市| 南阳市| 安平县| 南漳县| 松江区| 水城县| 博客| 长子县| 永康市| 渝北区| 石渠县| 手机| 远安县| 慈利县| 武义县| 高青县| 石狮市| 娄底市| 通江县| 恩施市| 江都市| 托克逊县| 游戏| 湟中县| 蕲春县| 五原县| 永胜县| 乐安县| 清涧县| 延津县| 香港| 卫辉市| 门源|