博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java8新特性 Stream流式思想(二)
阅读量:5112 次
发布时间:2019-06-13

本文共 1651 字,大约阅读时间需要 5 分钟。

如何获取Stream流

刚开始写博客,有一些不到位的地方,还请各位论坛大佬见谅,谢谢!

package cn.com.zq.demo01.Stream.test01.Stream;

import org.omg.CosNaming.NamingContextExtPackage.StringNameHelper;

import java.io.Serializable;

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

/*

* java.util.stream.Stream<T> 是Java8新加入的流式接口
* 获取一个流非常简单 ,主要有以下几种方式 :
* 1、所有的Collection集合都可以通过调用 默认方式 stream() 获取Stream流。
* 2、获取数组对应的流,使用 Stream接口的静态方法 of() 进行获取即可。
* 3、那Map集合呢? 他不是Collection接口的子接口。这里我们可以采用以下两种方式 :
* 分别通过Map集合的 keySet()方法 、values()方法获取到Map集合对象的Stream流。
* 或者就是通过Map集合的entrySet方法获取到Map集合的键值对,直接将键值对转换为Stream流即可。
* */
public class Test03GetStream {

public static void main(String[] args) {

// 把集合转化为 Stream 流
List<String> list = new ArrayList<>();
Stream<String> streamA = list.stream();//这就将 List集合转化为了 Stream流

Set<String> hashSet = new HashSet<>();

Stream<String> streamB = hashSet.stream();//把Set集合 转换为 Stream 流

// 如何将Map集合转换为 Stream流呢?

Map<String,String> map = new HashMap<>();

// Map集合转换为Stream流的方法一

// 先获取到键值把Map集合中的键存储到set集合中 将键转换为 Stream流

Set<String> key = map.keySet();

Stream<String> streamKey = key.stream();
Collection<String> values = map.values();
Stream<String> streamValue = values.stream();

// Map集合转换为Stream流的方式二

// 获取键值对 通过 将键值对 转换为流的方式
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> streamEntrySet = entries.stream();

// 如何将数组转换为Stream 流呢?

Stream<? extends Serializable> streamOf = Stream.of("张三", "李四", 1, "王五", "赵六", "田七", 2);

// 由于 Stream 接口的静态方法 Of 的参数是一个 可变参数 所以 参数可以传递一个数组

int []arr ={1,2,3,4,5,6,7,8,9,4,5};
Stream<int[]> streamArr = Stream.of(arr);
}
}

--------------------- 

转载于:https://www.cnblogs.com/ly570/p/10935325.html

你可能感兴趣的文章
查看MySQL路径
查看>>
【Android开发】富文本
查看>>
win10 ping不通所有地址
查看>>
图解细说http和https——【北杨】
查看>>
雅可比迭代法
查看>>
域控服务器安装
查看>>
设计模式(十一)Composite模式
查看>>
FastCgi 与 PHP-FPM
查看>>
读取ClassPath下resource文件的正确姿势
查看>>
idea 将工程项目打包成war
查看>>
在Linux系统里运行shutdown.sh命令关闭Tomcat时出现错误提示
查看>>
mysql笔记
查看>>
【转】内存管理笔记
查看>>
'initWithFrame:reuseIdentifier:' is deprecated
查看>>
20165305 实验一: Java开发环境的熟悉
查看>>
第三次C++作业
查看>>
JS DAY3
查看>>
mac 下 安装php扩展 - mcrypt
查看>>
Python 模块paramiko简单使用方法
查看>>
String类获取功能
查看>>