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 流的应用吧. 废话不多说,直入正题. 考虑以下业务场景,有四个人员信息,我们需要根据性 ...
随机推荐
- FORTIFY_SOURCE
In recent years Linux distributions started treating security more seriously. Out of many security f ...
- nyoj_513_A+B Problem IV_20130131532
A+B Problem IV 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着 ...
- 洛谷 P3184 [USACO16DEC]Counting Haybales数草垛
P3184 [USACO16DEC]Counting Haybales数草垛 题目描述 Farmer John has just arranged his NN haybales (1 \leq N ...
- Windows 10卸载Edge浏览器(不成功的别试了)
在命令行输入: PowerShell dir $env:LOCALAPPDATA\Packages\*edge*^|ren -newname MicrosoftEdge.old ; dir $env: ...
- Linq:Linq实例1..More
本文会不断更新应用实例. 需求1:对一个Rate列表的RateLevel属性求和,然后除以Rate列表的数量求平均值. 没有Linq的做法: Int rateLevel = ; foreach (Ra ...
- hibernate使用c3p0数据源
在配置好hibernate连接数据库环境的前提下,我们进行例如以下操作就能够搭建好hibernate中使用c3p0数据源的环境了. 1). 导入 jar 包: hibernate-release-4. ...
- string 和 vector 初探
标准库类型 string string 表示可变长的字符序列.是C++标准库类型的一部分,拥有很多优秀的性能. 定义 string 对象时如未人为初始化编译器会默认初始化为空字符串. string 对 ...
- ORACLE错误1033出现和ORA-00600错误解决的方法
非法关机以后.Oracle数据常常出现这个错误: EXP-00056:ORACLE错误1033出现 ORA-01033:ORACLE initialization or shutdown in pro ...
- UIView 的图层关系
个人认为用字母取代这样的比較好理解,.给新人学习 addSubview是一层一层往上加,新加的仅仅能放到父视图的最上层, insertSubView能够控制它加入到父视图的哪一层 A addSubv ...
- 在NSUserDefaults中保存自己定义的对象
在iOS开发中.须要用到一些回调值(从A到B,从B返回时把B中的值带回A中).事实上方法也非常多(delegate,block.nsuserdefaults等).我想用NSUserDefaults回调 ...