久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Java中等效的生成器函數

Generator functions equivalent in Java(Java中等效的生成器函數)
本文介紹了Java中等效的生成器函數的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我想在 Java 中實現一個 Iterator,它的行為有點像 Python 中的以下生成器函數:

I would like to implement an Iterator in Java that behaves somewhat like the following generator function in Python:

def iterator(array):
   for x in array:
      if x!= None:
        for y in x:
          if y!= None:
            for z in y:
              if z!= None:
                yield z

java 端的

x 可以是多維數組或某種形式的嵌套集合.我不確定這將如何工作.想法?

x on the java side can be multi-dimensional array or some form of nested collection. I am not sure how this would work. Ideas?

推薦答案

有同樣的需求,所以寫了一個小類.以下是一些示例:

Had the same need so wrote a little class for it. Here are some examples:

Generator<Integer> simpleGenerator = new Generator<Integer>() {
    public void run() throws InterruptedException {
        yield(1);
        // Some logic here...
        yield(2);
    }
};
for (Integer element : simpleGenerator)
    System.out.println(element);
// Prints "1", then "2".

無限生成器也是可能的:

Infinite generators are also possible:

Generator<Integer> infiniteGenerator = new Generator<Integer>() {
    public void run() throws InterruptedException {
        while (true)
            yield(1);
    }
};

Generator 類在內部使用線程來生成項目.通過覆蓋 finalize(),它可以確保在相應的 Generator 不再使用時不會留下任何線程.

The Generator class internally works with a Thread to produce the items. By overriding finalize(), it ensures that no Threads stay around if the corresponding Generator is no longer used.

性能顯然不是很好,但也不算太差.在我的具有雙核 i5 CPU @ 2.67 GHz 的機器上,可以在 < 中生產 1000 個項目.0.03 秒.

The performance is obviously not great but not too shabby either. On my machine with a dual core i5 CPU @ 2.67 GHz, 1000 items can be produced in < 0.03s.

代碼位于 GitHub.在那里,您還可以找到有關如何將其作為 Maven/Gradle 依賴項包含在內的說明.

The code is on GitHub. There, you'll also find instructions on how to include it as a Maven/Gradle dependency.

這篇關于Java中等效的生成器函數的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Java Remove Duplicates from an Array?(Java從數組中刪除重復項?)
How to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修復調用失敗來自服務器的意外響應:在 Android 工作室中未經授權)
AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
AES Error: Given final block not properly padded(AES 錯誤:給定的最終塊未正確填充)
Detecting incorrect key using AES/GCM in JAVA(在 JAVA 中使用 AES/GCM 檢測不正確的密鑰)
AES-256-CBC in Java(Java 中的 AES-256-CBC)
主站蜘蛛池模板: 日韩一区二区三区在线看 | 欧美一级黄色免费 | 亚洲美女网站 | 成人在线视频免费看 | 99tv成人影院 | 久久久精品一区二区三区 | 国产亚洲一区二区三区在线 | 欧美激情视频一区二区三区在线播放 | 国产精品2 | 一区二区三区四区不卡视频 | 精精国产xxxx视频在线播放7 | 成人免费黄色片 | 国产不卡在线观看 | 一区二区三区亚洲视频 | 国产精品99 | 亚洲精品乱码久久久久久蜜桃 | 色免费在线视频 | 91精品国产高清一区二区三区 | 亚洲日本一区二区 | 精品国产青草久久久久福利 | 久久国产综合 | 久久男人天堂 | 精品成人在线 | 国产丝袜一区二区三区免费视频 | 欧美99久久精品乱码影视 | 久久99精品久久久久久国产越南 | 国产精品一二三区 | 瑟瑟视频在线看 | 午夜精品久久久久久久久久久久久 | 99国产精品久久久久久久 | 国产免费一区二区 | 亚洲免费在线观看 | 欧美一级二级视频 | 亚洲福利网| 亚洲一区二区三区在线播放 | 久久精品国产99国产精品 | www亚洲一区 | www.久久99| 国产女人与拘做受免费视频 | 国产精品一区二区三区在线 | 午夜影晥 |