最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何從集合和數(shù)組獲取Stream流的方法

 更新時間:2025年01月21日 15:35:20   作者:qq_44199605  
本文詳細介紹了Java中如何從集合、數(shù)組等數(shù)據(jù)結(jié)構(gòu)獲取Stream流,包括使用Collection接口的stream()和parallelStream()方法、Arrays類的stream()方法、Stream.of()方法以及基本類型數(shù)組的流方法等

Java從集合和數(shù)組獲取Stream流

在 Java 的編程過程中,Stream 流是處理集合、數(shù)組等數(shù)據(jù)結(jié)構(gòu)的重要工具,它提供了高效且簡潔的操作方式。

本文將詳細介紹如何從集合、數(shù)組等數(shù)據(jù)結(jié)構(gòu)中獲取 Stream 流。

1. 從集合獲取 Stream

Java 的 Collection 接口為我們提供了直接獲取 Stream 的方法:

方法

  • stream():獲取一個順序流。
  • parallelStream():獲取一個并行流。

示例代碼

import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建集合
        List<String> list = Arrays.asList("A", "B", "C");

        // 獲取順序流
        Stream<String> stream = list.stream();
        stream.forEach(System.out::println);

        // 獲取并行流
        Stream<String> parallelStream = list.parallelStream();
        parallelStream.forEach(System.out::println);
    }
}

輸出結(jié)果:

A
B
C

2. 從數(shù)組獲取 Stream

Arrays 類提供了靜態(tài)方法 stream() 用于從數(shù)組生成流。

方法

  • Arrays.stream(T[] array):將整個數(shù)組轉(zhuǎn)換為順序流。
  • Arrays.stream(T[] array, int startInclusive, int endExclusive):將數(shù)組的部分范圍轉(zhuǎn)換為流。

示例代碼

import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建數(shù)組
        String[] array = { "A", "B", "C", "D" };

        // 將整個數(shù)組轉(zhuǎn)換為流
        Stream<String> stream = Arrays.stream(array);
        stream.forEach(System.out::println);

        // 將數(shù)組部分范圍轉(zhuǎn)換為流
        Stream<String> partialStream = Arrays.stream(array, 1, 3);
        partialStream.forEach(System.out::println); // 輸出 B, C
    }
}

輸出結(jié)果:

A
B
C
D
B
C

3. 使用 Stream.of 獲取流

Stream 接口提供了靜態(tài)方法 Stream.of(),可以直接從元素或數(shù)組生成流。

示例代碼

import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        // 使用 Stream.of 從元素生成流
        Stream<String> stream = Stream.of("A", "B", "C");
        stream.forEach(System.out::println);

        // 使用 Stream.of 從數(shù)組生成流
        String[] array = { "X", "Y", "Z" };
        Stream<String> arrayStream = Stream.of(array);
        arrayStream.forEach(System.out::println);
    }
}

輸出結(jié)果:

A
B
C
X
Y
Z

4. 從基本類型數(shù)組獲取 Stream

對于基本類型數(shù)組(如 int[]double[]),可以使用專門的流方法來生成流。

方法

  • IntStream.of(int... values)
  • DoubleStream.of(double... values)
  • Arrays.stream(int[] array)

示例代碼

import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        // 使用 IntStream.of
        IntStream intStream = IntStream.of(1, 2, 3, 4);
        intStream.forEach(System.out::println);

        // 使用 Arrays.stream
        int[] intArray = { 5, 6, 7, 8 };
        IntStream arrayStream = Arrays.stream(intArray);
        arrayStream.forEach(System.out::println);
    }
}

輸出結(jié)果:

1
2
3
4
5
6
7
8

5. 從 Map 獲取 Stream

Map 不屬于 Collection 接口的子類,因此不能直接調(diào)用 stream() 方法。

我們可以通過 entrySet()、keySet()values() 間接獲取流。

示例代碼

import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建 Map
        Map<String, Integer> map = new HashMap<>();
        map.put("A", 1);
        map.put("B", 2);
        map.put("C", 3);

        // 獲取鍵流
        Stream<String> keyStream = map.keySet().stream();
        keyStream.forEach(System.out::println);

        // 獲取值流
        Stream<Integer> valueStream = map.values().stream();
        valueStream.forEach(System.out::println);

        // 獲取鍵值對流
        Stream<Map.Entry<String, Integer>> entryStream = map.entrySet().stream();
        entryStream.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
    }
}

輸出結(jié)果:

A
B
C
1
2
3
A: 1
B: 2
C: 3

總結(jié)

數(shù)據(jù)類型方法
集合stream() 或 parallelStream()
數(shù)組Arrays.stream() 或 Stream.of()
基本類型數(shù)組IntStream.of() 或 Arrays.stream()
Map使用 entrySet()、keySet()、values()

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java發(fā)送帶html標(biāo)簽內(nèi)容的郵件實例代碼

    Java發(fā)送帶html標(biāo)簽內(nèi)容的郵件實例代碼

    下面小編就為大家?guī)硪黄狫ava發(fā)送帶html標(biāo)簽內(nèi)容的郵件實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法

    IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法

    這篇文章主要介紹了IDEA運行Java項目報錯java: 錯誤: 不支持發(fā)行版本 xx的解決方法,文中有詳細的解決方案供大家參考,對大家解決問題有一定的幫助,需要的朋友可以參考下
    2025-04-04
  • vue3實現(xiàn)一個todo-list

    vue3實現(xiàn)一個todo-list

    這篇文章主要為大家詳細介紹了基于vuejs實現(xiàn)一個todolist項目,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-08-08
  • Java集合教程之Collection實例詳解

    Java集合教程之Collection實例詳解

    集合,或者叫容器,是一個包含多個元素的對象,下面這篇文章主要給大家介紹了關(guān)于Java集合教程之Collection的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • java -length的三種用法說明

    java -length的三種用法說明

    這篇文章主要介紹了java -length的三種用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Spring Boot項目搭建的兩種方式

    Spring Boot項目搭建的兩種方式

    springboot簡單快捷方便的優(yōu)點深受用戶喜愛,springboot開發(fā)環(huán)境搭建過程是每個開發(fā)者必須要做的工作,今天小編寫的一篇教程關(guān)于Spring Boot項目搭建方法,通過兩種方式給大家介紹的非常詳細,需要的朋友參考下吧
    2021-06-06
  • mybatisplus添加真正的批量新增、批量更新的實現(xiàn)

    mybatisplus添加真正的批量新增、批量更新的實現(xiàn)

    這篇文章主要介紹了mybatisplus添加真正的批量新增、批量更新的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java NumberFormat 類的詳解及實例

    Java NumberFormat 類的詳解及實例

    這篇文章主要介紹了Java NumberFormat 類的詳解及實例的相關(guān)資料,數(shù)字格式化類按照本地風(fēng)格習(xí)慣進行的數(shù)字顯示,需要的朋友可以參考下
    2017-08-08
  • Java實現(xiàn)生成Excel樹形表頭完整代碼示例

    Java實現(xiàn)生成Excel樹形表頭完整代碼示例

    這篇文章主要介紹了Java實現(xiàn)生成Excel樹形表頭完整代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java多線程并發(fā)編程和鎖原理解析

    Java多線程并發(fā)編程和鎖原理解析

    這篇文章主要介紹了Java多線程并發(fā)編程和鎖原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12

最新評論

鄂伦春自治旗| 恩施市| 宝鸡市| 乃东县| 收藏| 哈尔滨市| 岚皋县| 勃利县| 濮阳县| 塔城市| 项城市| 安泽县| 同江市| 万荣县| 昌吉市| 高州市| 隆化县| 长治县| 广东省| 黄石市| 剑河县| 大兴区| 威远县| 古交市| 穆棱市| 岫岩| 龙泉市| 榆树市| 柳江县| 犍为县| 乐山市| 泰来县| 南召县| 铜川市| 濮阳县| 什邡市| 武冈市| 阿拉善左旗| 山丹县| 彰武县| 达拉特旗|