Stream 是支持各種方法的對象序列,這些方法可以通過管道傳輸以產生所需的結果。
array 是一組由通用名稱引用的like-typed 變量。數組可以包含基元數據類型以及類的對象,具體取決於數組的定義。對於基元數據類型,實際值存儲在連續的內存位置中。對於類的對象,實際對象存儲在堆段中。
下麵是將 Stream 轉換為 Array 的各種方法:
- 使用toArray():Stream 提供toArray() 方法,該方法以對象數組的形式返回包含流元素的數組。
用法:
stream.toArray()
算法:
- 獲取流
- 使用 Stream.toArray() 方法將 Stream 轉換為數組。
- 獲取的數組類型為Object[]
- 返回數組對象[]
程序:
// Java Program to convert // Stream to array in Java 8 import java.util.*; import java.util.stream.*; import java.util.function.Function; class GFG { // Function to convert Stream to Array public static <T> Object[] convertStreamToArray(Stream<T> stream) { return stream.toArray(); } public static void main(String args[]) { // Create a stream of integers Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); // Convert Stream to array Object[] array = convertStreamToArray(stream); // Print the array of stream System.out.println("Array from Stream: " + Arrays.toString(array)); } }
輸出:Array from Stream: [1, 2, 3, 4, 5]
- 使用 toArray(IntFunction 生成器):此方法返回一個包含該流元素的數組,使用提供的生成器函數分配返回的數組,以及分區執行或調整大小可能需要的任何其他數組。
用法:
<A> A[] toArray(IntFunction<A[]> generator)
算法:
- 獲取流
- 使用 Stream.toArray() 方法將 Stream 轉換為數組,傳遞 Object[]::new 作為生成器函數來分配返回的數組。
- 獲取的數組類型為Object[]
- 返回數組對象[]
程序:
// Java Program to convert // Stream to array in Java 8 import java.util.*; import java.util.stream.*; import java.util.function.Function; class GFG { // Function to convert Stream to Array public static <T> Object[] convertStreamToArray(Stream<T> stream) { return stream.toArray(Object[] ::new); } public static void main(String args[]) { // Create a stream of integers Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); // Convert Stream to array Object[] array = convertStreamToArray(stream); // Print the array of stream System.out.println("Array from Stream: " + Arrays.toString(array)); } }
輸出:Array from Stream: [1, 2, 3, 4, 5]
- 流
使用 mapToInt() 到 int[] :Java 8 Stream API 提供了 mapToInt() 方法,該方法返回 IntStream,其中包含將給定函數應用於該流的元素的結果。這是一個中間操作。然後使用toArray()將獲得的IntStream轉換為int[]。算法:
- 獲取整數流
- 使用 Stream.mapToInt() 方法將 Stream 轉換為 IntStream。
- 使用toArray()將獲得的IntStream轉換為int[]
- 獲取到的數組是Integer類型
- 返回數組 int[]
程序:
// Java Program to convert // Stream to array in Java 8 import java.util.*; import java.util.stream.*; import java.util.function.Function; class GFG { // Function to convert Stream to Array public static int[] convertStreamToArray(Stream<Integer> stream) { return stream.mapToInt(Integer::intValue).toArray(); } public static void main(String args[]) { // Create a stream of integers Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); // Convert Stream to array int[] array = convertStreamToArray(stream); // Print the array of stream System.out.println("Array of Integer from Stream: " + Arrays.toString(array)); } }
輸出:Array of Integer from Stream: [1, 2, 3, 4, 5]
相關用法
- Java Stream轉Map用法及代碼示例
- Java Stream轉Set用法及代碼示例
- Java StreamTokenizer commentChar()用法及代碼示例
- Java StreamTokenizer eolIsSignificant()用法及代碼示例
- Java StreamTokenizer lineno()用法及代碼示例
- Java StreamTokenizer lowerCaseNode()用法及代碼示例
- Java StreamTokenizer nextToken()用法及代碼示例
- Java StreamTokenizer ordinaryChar()用法及代碼示例
- Java StreamTokenizer ordinaryChars()用法及代碼示例
- Java StreamTokenizer parseNumbers()用法及代碼示例
- Java StreamTokenizer pushBack()用法及代碼示例
- Java StreamTokenizer quoteChar()用法及代碼示例
- Java StreamTokenizer resetSyntax()用法及代碼示例
- Java StreamTokenizer slashSlashComments()用法及代碼示例
- Java StreamTokenizer slashStarComments()用法及代碼示例
- Java StreamTokenizer toString()用法及代碼示例
- Java StreamTokenizer whitespaceChars()用法及代碼示例
- Java StreamTokenizer wordChars()用法及代碼示例
- Java Stream allMatch()用法及代碼示例
- Java Stream anyMatch()用法及代碼示例
- Java Stream builder()用法及代碼示例
- Java Stream.concat()用法及代碼示例
- Java Stream count()用法及代碼示例
- Java Stream.distinct()用法及代碼示例
- Java Stream dropWhile()用法及代碼示例
注:本文由純淨天空篩選整理自RishabhPrabhu大神的英文原創作品 Program to Convert Stream to an Array in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。