java8使用Stream API方法总结
Stream是java8中处理集合的关键抽象概念,它可以指定您希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。
Stream 的三个操作步骤
1、创建Stream.
得到Stream流的第一种方式:
可以通过Collection系列集合提供提供的Stream()或parallelStream
@Test public void test1() { //可以通过Collection系列集合提供提供的Stream()或parallelStream List<String> list = new ArrayList<>(); Stream<String> stream = list.stream(); }
通过Arrays中的静态方法stream()方法得到数组流
//通过Arrays中的静态方法stream()方法得到数组流
Dept[] depts = new Dept[10]; Stream<Dept> deptStream = Arrays.stream(depts);
通过Stream类中的静态方法of()Stream.of("aa","bb","cc");
创建无限流 //迭代 Stream<Integer> integerStream = Stream.iterate(0,(x) -> x+2);
2、中间操作
//创建无限流 //迭代 Stream<Integer> integerStream = Stream.iterate(0,(x) -> x+2); //中间操作 integerStream.limit(10).forEach(System.out::println);
6、
查看运行结果
3、终止操作
//创建无限流 //迭代 Stream<Integer> integerStream = Stream.iterate(0,(x) -> x+2); //终止操作 integerStream.forEach(System.out::println);
查看运行结果
相关推荐
-
Java 8中Stream API的这些奇技淫巧!你Get了吗?
上次老师跟大家分享了 cookie.session和token,今天给大家分享一下Java 8中的Stream API. Stream简介 1.Java 8引入了全新的Stream API.这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同. 2.stream是对集合对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作,或者大批量数据操作. 3.只要给出需要对其包含的元素执行什么操作,比如 "过滤掉长度大于 10 的字符串".&
-
Java8中Lambda表达式使用和Stream API详解
前言 Java8 的新特性:Lambda表达式.强大的 Stream API.全新时间日期 API.ConcurrentHashMap.MetaSpace.总得来说,Java8 的新特性使 Java 的运行速度更快.代码更少.便于并行.最大化减少空指针异常. 0x00. 前置数据 private List<People> peoples = null; @BeforeEach void before () { peoples = new ArrayList<>(); peoples
-
java8使用Stream API方法总结
Stream是java8中处理集合的关键抽象概念,它可以指定您希望对集合进行的操作,可以执行非常复杂的查找.过滤和映射数据等操作.使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询. Stream 的三个操作步骤 1.创建Stream. 得到Stream流的第一种方式: 可以通过Collection系列集合提供提供的Stream()或parallelStream @Test public void test1() { //可以通过Collection系列集合提供提供的
-
Java8中Stream的详细使用方法大全
目录 一.概述 1.使用流的好处 2.流是什么? 二.分类 三.Stream的创建 1.通过 java.util.Collection.stream() 方法用集合创建流 2.使用 java.util.Arrays.stream(T[]array)方法用数组创建流 3.使用 Stream的静态方法:of().iterate().generate() 四.Stream API简介 1.遍历/匹配(foreach/find/match) 2.按条件匹配filter 3.聚合max.min.count
-
Java8 Stream API 详细使用方法与操作技巧指南
本文实例讲述了Java8 Stream API 详细使用方法与操作技巧.分享给大家供大家参考,具体如下: 1. 概述 Java 8 引入的一个重要的特性无疑是 Stream API.Stream 翻译过来是"流",突然想到的是大数据处理有个流式计算的概念,数据通过管道经过一个个处理器(Handler)进行筛选,聚合,而且流都具有向量性,强调的是对数据的计算处理,而集合强调的是数据集.Stream可以看做是一个可操作的数据集序列,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找.
-
基于Java8 Stream API实现数据抽取收集
目标&背景 我们以"处理订单数据"为例,假设我们的应用是一个分布式应用,有"订单应用","物流应用","商品应用"等都是独立的服务.本次我们的目的需要展示订单列表完整数据: 1.查询订单列表. 2.批量查询物流信息. 3.将物流信息填充到订单主信息中. 假设我们定义了一个订单类,具有几个关键的属性:订单号,状态,订单价,快递信息.如下所示: class Order{ String orderSeq; String st
-
java8 Stream API之reduce使用说明
本篇我们只讲reduce. reduce的作用是把stream中的元素给组合起来. 至于怎么组合起来:它需要我们首先提供一个起始种子,然后依照某种运算规则使其与stream的第一个元素发生关系产生一个新的种子,这个新的种子再紧接着与stream的第二个元素发生关系产生又一个新的种子,就这样依次递归执行,最后产生的结果就是reduce的最终产出,这就是reduce的算法最通俗的描述: 那么结合实际的业务场景来说,运用reduce我们可以做sum,min,max,average,所以这些我们称之为针
-
深入理解Java8新特性之Stream API的终止操作步骤
目录 1.写在前面 2.终止操作 2.1 终止操作之查找与匹配 2.2 终止操作之归约与收集 1.写在前面 承接了上一篇文章(说完了Stream API的创建方式及中间操作):深入理解Java8新特性之Stream API的创建方式和中间操作步骤. 我们都知道Stream API完成的操作是需要三步的:创建Stream → 中间操作 → 终止操作.那么这篇文章就来说一下终止操作. 2.终止操作 终端操作会从流的流水线生成结果.其结果可以是任何不是流的值,例如:List.Integer,甚至是 v
-
深入理解Java8新特性之Stream API的创建方式和中间操作步骤
目录 1.什么是StreamAPI? 2.Stream API操作的三个步骤 2.1 创建Stream 2.2 中间操作 2.2.1 中间操作之筛选与切片 2.2.2 中间操作之映射 2.2.3 中间操作之排序 1.什么是StreamAPI? Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一个则是 m Stream API (java.util.stream.*) . Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复
-
如何利用Java8 Stream API对Map按键或值排序
一.什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序.下面是它的工作原理: Java Stream函数式编程?用过都说好,案例图文详解送给你 将Map或List等集合类对象转换为Stream对象 使用Streams的sorted()方法对其进行排序 最终将其返回为LinkedHashMap(可以保留排序顺序) sorted()方法以Comparator作为参数,从而可以按任何类型的值对Map进行排序.如果对Comparator不熟悉,可以看本号
-
熟练掌握Java8新特性之Stream API的全面应用
1.写在前面 关于Stream API的内容,已经基本上说完了.大家可以参考我的这两篇文章: 深入理解Java8新特性之Stream API的创建方式和中间操作步骤.深入理解Java8新特性之Stream API的终止操作步骤 那么这篇文章主要就是说一个Stream API的简单应用练习题. 2.应用举例 首先,我们需要创建一个交易员类.交易类.存储这两个类对象的List集合. package com.szh.java8.exer; import lombok.AllArgsConstructo
随机推荐
- docker 搭建hadoop以及hbase集群详解
- jQuery实战之仿淘宝商城左侧导航效果
- React Native实现进度条弹框的示例代码
- Linux Apache Web服务器安全的8种安全设置技巧
- iOS中屏幕亮度与闪光灯控制详解
- Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
- JavaScript原生节点操作小结
- javascript 隐藏/显示指定的区域附HTML元素【legend】用法
- PHP中session变量的销毁
- Django发送html邮件的方法
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
- node.js中的buffer.length方法使用说明
- str_replace只替换一次字符串的方法
- 模拟鼠标事件的实现思路及代码
- javascript简单实现表格行间隔显示颜色并高亮显示
- Android开发中比较耗时的一些操作小结
- 邮箱能收发不正常的原因
- Android动态人脸检测的示例代码(脸数可调)
- 谈谈PHP语法(5)
- 浅谈flask中的before_request与after_request