在 Java 中將 Iterable 轉換為流
且假設以下程式碼是我們可迭代的 −
Iterable<String> i = Arrays.asList("K", "L", "M", "N", "O", "P");
現在,建立集合 −
Stream<String> s = convertIterable(i);
上述程式碼中,我們有一個用於轉換的自定義方法 convertIterable() 。以下為該方法 −
public static <T> Stream<T> convertIterable(Iterable<T> iterable) { return StreamSupport.stream(iterable.spliterator(), false); }
範例
以下是將一個可迭代物件轉換為 Java 流的程式 −
import java.util.*; import java.util.stream.*; public class Demo { public static <T> Stream<T> convertIterable(Iterable<T> iterable) { return StreamSupport.stream(iterable.spliterator(), false); } public static void main(String[] args) { Iterable<String> i = Arrays.asList("K", "L", "M", "N", "O", "P"); Stream<String> s = convertIterable(i); System.out.println("Iterable to Stream: "+s.collect(Collectors.toList())); } }
輸出
Iterable to Stream: [K, L, M, N, O, P]
廣告