日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

力扣——顶端迭代器

發(fā)布時(shí)間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 力扣——顶端迭代器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

給定一個(gè)迭代器類的接口,接口包含兩個(gè)方法:?next()?和?hasNext()。設(shè)計(jì)并實(shí)現(xiàn)一個(gè)支持?peek()?操作的頂端迭代器 -- 其本質(zhì)就是把原本應(yīng)由?next()?方法返回的元素?peek()?出來(lái)。

示例:

假設(shè)迭代器被初始化為列表?[1,2,3]。調(diào)用?next() 返回 1,得到列表中的第一個(gè)元素。 現(xiàn)在調(diào)用?peek()?返回 2,下一個(gè)元素。在此之后調(diào)用?next() 仍然返回 2。 最后一次調(diào)用?next()?返回 3,末尾元素。在此之后調(diào)用?hasNext()?應(yīng)該返回 false。

進(jìn)階:你將如何拓展你的設(shè)計(jì)?使之變得通用化,從而適應(yīng)所有的類型,而不只是整數(shù)型?

?

// Java Iterator interface reference: // https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html class PeekingIterator implements Iterator<Integer> {private Iterator<Integer> mIterator;private Integer next;public PeekingIterator(Iterator<Integer> iterator) {// initialize any member here.this.mIterator = iterator;}// Returns the next element in the iteration without advancing the iterator.public Integer peek() {if (next == null && mIterator.hasNext()) {next = mIterator.next();}return next;}// hasNext() and next() should behave the same as in the Iterator interface.// Override them if needed. @Overridepublic Integer next() {if (next == null) {return mIterator.next();} else {Integer temp = next;next = null;return temp;}}@Overridepublic boolean hasNext() {return next != null || mIterator.hasNext();} }

?

轉(zhuǎn)載于:https://www.cnblogs.com/JAYPARK/p/10479669.html

總結(jié)

以上是生活随笔為你收集整理的力扣——顶端迭代器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。