欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8如何將Array轉(zhuǎn)換為Stream的實現(xiàn)代碼

 更新時間:2019年09月01日 09:19:08   作者:火炎焱  
這篇文章主要介紹了Java8如何將Array轉(zhuǎn)換為Stream的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

引言

在 java8 中,您可以使用 Arrays.Stream 或 Stream.of 將 Array 轉(zhuǎn)換為 Stream。

1. 對象數(shù)組

對于對象數(shù)組,Arrays.stream 和 Stream.of 都返回相同的輸出。

public static void main(String[] args) {

 ObjectArrays();
 }

 private static void ObjectArrays() {
 String[] array = {"a", "b", "c", "d", "e"};
 //Arrays.stream
 Stream<String> stream = Arrays.stream(array);
 stream.forEach(x-> System.out.println(x));

 System.out.println("======");

 //Stream.of
 Stream<String> stream1 = Stream.of(array);
 stream1.forEach(x-> System.out.println(x));
 }

輸出:

a
b
c
d
e
======
a
b
c
d
e

查看 JDK 源碼,對于對象數(shù)組,Stream.of 內(nèi)部調(diào)用了 Arrays.stream 方法。

// Arrays
public static <T> Stream<T> stream(T[] array) {
 return stream(array, 0, array.length);
}

// Stream
public static<T> Stream<T> of(T... values) {
 return Arrays.stream(values);
}

2. 基本數(shù)組

對于基本數(shù)組,Arrays.stream 和 Stream.of 將返回不同的輸出。

public static void main(String[] args) {

 PrimitiveArrays();
 }

private static void PrimitiveArrays() {
 int[] intArray = {1, 2, 3, 4, 5};

 // 1. Arrays.stream -> IntStream
 IntStream stream = Arrays.stream(intArray);
 stream.forEach(x->System.out.println(x));

 System.out.println("======");

 // 2. Stream.of -> Stream<int[]>
 Stream<int[]> temp = Stream.of(intArray);

 // 不能直接輸出,需要先轉(zhuǎn)換為 IntStream
 IntStream intStream = temp.flatMapToInt(x -> Arrays.stream(x));
 intStream.forEach(x-> System.out.println(x));

 }

輸出:

1
2
3
4
5
======
1
2
3
4
5

查看源碼,

// Arrays
public static IntStream stream(int[] array) {
 return stream(array, 0, array.length);
}

// Stream
public static<T> Stream<T> of(T t) {
 return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
}

Which one

  • 對于對象數(shù)組,兩者都調(diào)用相同的 Arrays.stream 方法
  • 對于基本數(shù)組,我更喜歡 Arrays.stream,因為它返回固定的大小 IntStream,更容易操作。

所以,推薦使用 Arrays.stream,不需要考慮是對象數(shù)組還是基本數(shù)組,直接返回對應(yīng)的流對象,操作方便。

源碼見:java-8-demo

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 八道經(jīng)典面試題之鏈表題

    Java 八道經(jīng)典面試題之鏈表題

    本位主要介紹了Java面試中常常遇到的八道經(jīng)典鏈表問題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,需要的小伙伴們可以學(xué)習(xí)一下
    2021-11-11
  • Java根據(jù)控制臺實現(xiàn)定位異常

    Java根據(jù)控制臺實現(xiàn)定位異常

    這篇文章主要介紹了Java根據(jù)控制臺定位異常,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java?hutool?List集合對象拷貝示例代碼

    Java?hutool?List集合對象拷貝示例代碼

    這篇文章主要介紹了Java?hutool?List集合對象拷貝的相關(guān)資料,文章還分享了在實現(xiàn)過程中遇到的一些問題,并強(qiáng)調(diào)了閱讀源碼和正確配置CopyOptions的重要性,需要的朋友可以參考下
    2024-12-12
  • Java定時器通信協(xié)議管理模塊Timer詳解

    Java定時器通信協(xié)議管理模塊Timer詳解

    這篇文章主要介紹了Java定時器通信協(xié)議管理模塊Timer,?Timer一般指定時器(通信協(xié)議管理模塊)人類最早使用的定時工具是沙漏或水漏,但在鐘表誕生發(fā)展成熟之后,人們開始嘗試使用這種全新的計時工具來改進(jìn)定時器,達(dá)到準(zhǔn)確控制時間的目的
    2022-08-08
  • spring boot 全局異常處理方法匯總

    spring boot 全局異常處理方法匯總

    這篇文章主要介紹了spring boot 全局異常處理方法匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • java制作簡單的坦克大戰(zhàn)

    java制作簡單的坦克大戰(zhàn)

    坦克大戰(zhàn)是我們小時候玩紅白機(jī)時代的經(jīng)典游戲,看到有不少小伙伴都使用各種語言實現(xiàn)了一下,手癢癢,也使用java做的一個比較簡單的坦克大戰(zhàn),主要面向于學(xué)過Java的人群,與學(xué)了一段時間的人,有利于面向?qū)ο笏枷氲奶岣?,推薦給大家。
    2015-03-03
  • 關(guān)于@ConditionalOnProperty的作用及用法說明

    關(guān)于@ConditionalOnProperty的作用及用法說明

    這篇文章主要介紹了關(guān)于@ConditionalOnProperty的作用及用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java設(shè)計模式中的適配器模式

    Java設(shè)計模式中的適配器模式

    這篇文章主要介紹了Java設(shè)計模式中的適配器模式, 適配器模式是將一個類的接口適配成用戶所期待的,一個適配允許通常因為接口不兼容而不能在一起工作的類工作在一起,做法是將類自己的接口包裹在一個已存在的類中,需要的朋友可以參考下
    2024-01-01
  • 阿里的一道Java并發(fā)面試題詳解

    阿里的一道Java并發(fā)面試題詳解

    這篇文章主要介紹了阿里的一道Java并發(fā)面試題詳解,網(wǎng)絡(luò)、并發(fā)相關(guān)的知識,相對其他一些編程知識點更難一些,主要是不好調(diào)試并且涉及內(nèi)容太多 !,需要的朋友可以參考下
    2019-06-06
  • spring boot項目使用@JsonFormat失效問題的解決

    spring boot項目使用@JsonFormat失效問題的解決

    這篇文章主要介紹了spring boot項目使用@JsonFormat失效問題的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論