在 Java 中將 Iterator 轉換為 Stream


首先,設定一個 Interator −

Iterator<Integer>iterator = Arrays.asList(50, 100, 200, 400, 500, 1000).iterator();

現在,我們已使用 stream −

Stream<Integer>stream = convertIterator(iterator);

上面,convertIterator() 方法用於轉換。以下是該方法 −

public static <T> Stream<T>
convertIterator(Iterator<T> iterator) {
   return StreamSupport.stream(((Iterable) () -> iterator).spliterator(), false);
}

示例

以下是將 Iterator 轉換為 Stream 的 Java 程式 −

import java.util.stream.*;
import java.util.*;
public class Demo {
   public static <T> Stream<T>
   convertIterator(Iterator<T> iterator) {
      return StreamSupport.stream(((Iterable) () -> iterator).spliterator(), false);
   }
   public static void main(String[] args) {
      Iterator<Integer>iterator = Arrays.asList(50, 100, 200, 400, 500, 1000).iterator();
      Stream<Integer>stream = convertIterator(iterator);
      System.out.println("Iterator to Stream...");
      stream.forEach(s -> System.out.println(s));
   }
}

輸出

Iterator to Stream...
50
100
200
400
500
1000

更新於:2019 年 9 月 25 日

319 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始吧
廣告