如何获取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);
}
}

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

Java8新特性 Stream流式思想(二)的更多相关文章

  1. Java8新特性 Stream流式思想(一)

    遍历及过滤集合中的元素使用传统方式遍历及过滤集合中的元素package cn.com.zq.demo01.Stream.test01.Stream; import java.util.ArrayLis ...

  2. Java8新特性 Stream流式思想(三)

    Stream接口中的常用方法 forEach()方法package cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods; import jav ...

  3. Java8 新特性 —— Stream 流式编程

    本文部分摘自 On Java 8 流概述 集合优化了对象的存储,大多数情况下,我们将对象存储在集合是为了处理他们.使用流可以帮助我们处理对象,无需迭代集合中的元素,即可直接提取和操作元素,并添加了很多 ...

  4. Java8 新特性之流式数据处理

    一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包含整数的 ...

  5. Java8 新特性之流式数据处理(转)

    转自:https://www.cnblogs.com/shenlanzhizun/p/6027042.html 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作 ...

  6. Java1.8新特性 - Stream流式算法

    一. 流式处理简介   在我接触到java8流式数据处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包 ...

  7. 这可能是史上最好的 Java8 新特性 Stream 流教程

    本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...

  8. Java8新特性Stream流应用示例

    Java8新特性介绍 过滤集合 List<String> newList = list.stream().filter(item -> item != null).collect(C ...

  9. java8 新特性Stream流的应用

    作为一个合格的程序员,如何让代码更简洁明了,提升编码速度尼. 今天跟着我一起来学习下java 8  stream 流的应用吧. 废话不多说,直入正题. 考虑以下业务场景,有四个人员信息,我们需要根据性 ...

随机推荐

  1. 树 (p155, 从中序和后续回复二叉树)

    递归求解, You are to determine the value of the leaf node in a given binary tree that is the terminal no ...

  2. Train Problem II HDU 1023 卡特兰数

    Problem Description As we all know the Train Problem I, the boss of the Ignatius Train Station want ...

  3. Spring for Apache Kafka @KafkaListener使用及注意事项

    官方文档:   https://docs.spring.io/spring-kafka/reference/html/ @KafkaListener The @KafkaListener annota ...

  4. ZooKeeper之初识

    它是什么 俗称动物管理员,它使用java开发,开源,接口简单,高效,稳定的分布式系统,为其它分布式系统提供协调服务 为什么会存在? 开发分布式系统跟单机上做开发完全不同,碰到的问题完全不同,开发分布式 ...

  5. HDU 4533

    一道好题.想了好久没想出来,只是觉得总要二分独立处理矩形.感觉自己在把问题转化为数学公式以及分解问题的方面的能力很不足. http://blog.csdn.net/wh2124335/article/ ...

  6. Buy or Build (poj 2784 最小生成树)

    Buy or Build Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1348   Accepted: 533 Descr ...

  7. Android实战简易教程-第二十四枪(基于Baas的用户表查询功能实现!)

    接着上一篇,我们注冊了几个用户,用户表例如以下: 以下我们用ListView将表中数据显示出来吧. 首先看一下main.xml: <RelativeLayout xmlns:android=&q ...

  8. @SpringBootApplication注解

    @SpringBootApplication注解表明了SpringBoot的核心功能,即自动配置. @SpringBootApplication(主配置类): @SpringBootConfigura ...

  9. Xcode 自己主动生成版本技术最佳实践

    在 bloglovin ,我们使用自己主动生成版本来设置Xcode,使当前的版本为在Git活跃的分支上 的提交数. 它一直正常工作着.但我们的技术也不是一帆风顺的. 糟糕的老方法 我们使用的技术是来自 ...

  10. 源码中修改Android的开机画面和动画【转】

    本文转载自:http://blog.csdn.net/dddxxxx/article/details/54343976 参照文章:http://blog.csdn.net/a345017062/art ...