Java8新特性 Stream流式思想(二)
如何获取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流式思想(二)的更多相关文章
- Java8新特性 Stream流式思想(一)
遍历及过滤集合中的元素使用传统方式遍历及过滤集合中的元素package cn.com.zq.demo01.Stream.test01.Stream; import java.util.ArrayLis ...
- Java8新特性 Stream流式思想(三)
Stream接口中的常用方法 forEach()方法package cn.com.cqucc.demo02.StreamMethods.Test02.StreamMethods; import jav ...
- Java8 新特性 —— Stream 流式编程
本文部分摘自 On Java 8 流概述 集合优化了对象的存储,大多数情况下,我们将对象存储在集合是为了处理他们.使用流可以帮助我们处理对象,无需迭代集合中的元素,即可直接提取和操作元素,并添加了很多 ...
- Java8 新特性之流式数据处理
一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包含整数的 ...
- Java8 新特性之流式数据处理(转)
转自:https://www.cnblogs.com/shenlanzhizun/p/6027042.html 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作 ...
- Java1.8新特性 - Stream流式算法
一. 流式处理简介 在我接触到java8流式数据处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要多行代码才能完成的操作,借助于流式处理可以在一行中实现.比如我们希望对一个包 ...
- 这可能是史上最好的 Java8 新特性 Stream 流教程
本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...
- Java8新特性Stream流应用示例
Java8新特性介绍 过滤集合 List<String> newList = list.stream().filter(item -> item != null).collect(C ...
- java8 新特性Stream流的应用
作为一个合格的程序员,如何让代码更简洁明了,提升编码速度尼. 今天跟着我一起来学习下java 8 stream 流的应用吧. 废话不多说,直入正题. 考虑以下业务场景,有四个人员信息,我们需要根据性 ...
随机推荐
- [NOIP2016day2T1] 組合數問題(problem)
题目描述 组合数C(n,m)表示的是从n个物品中选出m个物品的方案数.举个例子,从(1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3)这三种选择方法.根据组合数的定 义,我们 ...
- Network Saboteur POJ 2531 回溯搜索
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 12886 Accepted: 6187 Description A un ...
- [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
菜肴制作 bzoj-4010 HNOI-2015 题目大意:给定一张n个点m条边的有向图,求一个toposort,使得:(1)满足编号为1的点尽量在前:(2)满足(1)的情况下编号为2的点尽量在前,以 ...
- Spring MVC-控制器(Controller)-属性方法名称解析器(Properties Method Name Resolver )示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_propertiesmethodnameresolver.htm 说明:示例基于S ...
- RSA 数据加密和数字签名算法
PKCS8EncodedKeySpec pkcs8KeySpec = KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); Pr ...
- oracle 12c之前用sequence 和 trigger来生成自动增长的列
SQL> create table scott.t1 (id number, val varchar2(8)); Table created. SQL> CREATE SEQUENCE s ...
- 虚拟机 开发板 PC机 三者之间不能ping通的各种原因分析
这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能 ...
- android 自己定义ViewGroup实现可记载并呈现选择的ListView
转载请注明出处:王亟亟的大牛之路 之前也做过一些用TextView之类的记录ListView选项的东西.可是总认为好难看.发现个不错的实现就贴给大家. 项目文件夹 执行效果: 自己定义视图: @Tar ...
- 卡尔曼滤波(Kalman Filter) 的进一步讨论
我们在上一篇文章中通过一个简单的样例算是入门卡尔曼滤波了.本文将以此为基础讨论一些技术细节. 卡尔曼滤波(Kalman Filter) http://blog.csdn.net/baimafujinj ...
- Expression Trees (C# and Visual Basic)
https://msdn.microsoft.com/en-us/library/bb397951.aspx Expression trees represent code in a tree-lik ...