java8中Stream的使用示例教程-创新互联

前言

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站制作、岗巴网络推广、重庆小程序开发公司、岗巴网络营销、岗巴企业策划、岗巴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供岗巴建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

Java8中提供了Stream对集合操作作出了极大的简化,学习了Stream之后,我们以后不用使用for循环就能对集合作出很好的操作。

本文将给大家详细介绍关于java8 Stream使用的相关内容,下面话不多说了,来一起看看详细的介绍吧

1. 原理


Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。

原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;

高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如:

  • 所有元素求和
  • 过滤掉长度大于 10 的字符串
  • 获取每个字符串的首字母

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));

 List list = 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));
 }

新闻标题:java8中Stream的使用示例教程-创新互联
标题URL:http://pwwzsj.com/article/deioes.html