久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Java迭代器實現(xiàn)Python中的range代碼實例

瀏覽:6日期:2022-07-27 17:11:15

如果要想迭代一個類的對象,那么該類必須實現(xiàn) Iterable 接口,然后通過 iterator 方法返回一個 Iterator 實例。

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

如果再在 Range 類中定義靜態(tài)的工廠方法,然后再靜態(tài)導(dǎo)入工廠方法,就可以更方便地使用了。

使用實例:

for (int x : new Range(10, 0, -1)) { System.out.println(x);}/* 輸出:10987654321*/

代碼:

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; } }}

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 天门市| 秭归县| 新郑市| 松阳县| 秭归县| 佛坪县| 渝北区| 广德县| 济源市| 神农架林区| 那坡县| 承德市| 四会市| 卓资县| 乳源| 北安市| 滨海县| 安西县| 江油市| 桑植县| 鄂托克前旗| 肃宁县| 肥城市| 错那县| 玉田县| 肇州县| 成都市| 辽宁省| 天台县| 高州市| 缙云县| 菏泽市| 景谷| 甘孜| 阜新| 南雄市| 徐汇区| 永靖县| 西丰县| 罗平县| 越西县|