重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前言
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站制作、岗巴网络推广、重庆小程序开发公司、岗巴网络营销、岗巴企业策划、岗巴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供岗巴建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.comJava8中提供了Stream对集合操作作出了极大的简化,学习了Stream之后,我们以后不用使用for循环就能对集合作出很好的操作。
本文将给大家详细介绍关于java8 Stream使用的相关内容,下面话不多说了,来一起看看详细的介绍吧
1. 原理
Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。
原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;
高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如:
Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一次后即用尽了,就好比流水从面前流过,一去不复返。
而和迭代器又不同的是,Stream 可以并行化操作
Stream 的另外一大特点是,数据源本身可以是无限的
2.使用步骤
获取一个数据源(source)→ 数据转换→执行操作获取想要的结果
每次转换原有 Stream 对象不改变,返回一个新的 Stream对象(可以有多次转换),这就允许对其操作可以像链条一样排列,变成一个管道,如下图所示。
3. Stream的构造
public void test4() { Stream stream = Stream.of("a", "b", "c", 23); stream.forEach(key -> System.out.println(key)); String[] array = new String[]{"abc", "efg"}; stream = Stream.of(array); stream = Arrays.stream(array); stream.forEach(key -> System.out.println(key)); Listlist = Arrays.asList(array); stream = list.stream(); //IntStream、LongStream、DoubleStream IntStream stream2 = IntStream.of(1, 2, 3, 3); DoubleStream stream4 = DoubleStream.of(1, 2, 3, 3.4); stream2.forEach(key -> System.out.println(key)); stream4.forEach(key -> System.out.println(key)); }