1.初识流

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;public class Start1 {public static void main(String [] args){List<String> list = new ArrayList<>();list.add("王xx");list.add("王x");list.add("奉x");list.add("钱xx");Stream<String> str = list.stream();str.filter(s->s.startsWith("王")).filter(name->name.length()==3).filter(name->name.length()==3).forEach(name-> System.out.println(name));}
}

2.获取流

import java.util.*;
import java.util.stream.Stream;public class CollectionStream {public static void main(String[] args) {List<String>list=new ArrayList<>();Stream<String> stream = list.stream();Set<String> set=new HashSet<>();Stream<String> stream1 = set.stream();Set<String> set1=new LinkedHashSet<>();Stream<String> stream2 = set1.stream();Map<String,String>map=new HashMap<>();Set<String> strings = map.keySet();Stream<String> stream3 = strings.stream();Collection<String> values = map.values();Stream<String> stream4 = values.stream();Set<Map.Entry<String,String>>set2=map.entrySet();Stream<Map.Entry<String, String>> stream5 = set2.stream();Integer []arr=new Integer[10];Stream<Integer>stream6=Stream.of(1,2,3,4,5);Stream<Integer>stream7=Stream.of(arr);}
}


forEach
forEach方法,用来遍历流是一个终结方法,遍历之后不能继续调用Stream流的其他方法

import java.util.stream.Stream;public class StreamForeach {public static void main(String[] args) {Stream<Integer>stream=Stream.of(1,2,3,4,5);stream.forEach(i->System.out.println(i));}
}

Stream filter的使用
延迟方法

import java.util.stream.Stream;
/*
Stream流中常用的方法filter:用与对Stream流中数据过滤
filter*/
public class StreamFilter {public static void main(String[] args) {Stream<Integer>stream=Stream.of(1,3,8,5,1,4,2,7,3,3);stream.filter(i->i%2==0).forEach(i-> System.out.println(i));}
}

Stream map方法的使用
延迟方法

import java.util.stream.Stream;public class StreamMap {public static void main(String[] args) {Stream<Integer>stream=Stream.of(1,2,3,4,5,6);stream.map((i)->{return (char)(i+64);}).forEach((i)-> System.out.println(i));}
}


Stream count方法的使用
终结方法

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;public class StreamCount {public static void main(String[] args) {Stream<Integer>stream=Stream.of(1,3,1,4,5,2,0);long count = stream.count();System.out.println(count);List <Integer>list=new ArrayList<>();list.add(1);list.add(3);list.add(1);list.add(4);list.add(5);list.add(2);list.add(0);System.out.println(list.stream().count());}
}


Stream Limit方法的使用
延时方法

import java.util.stream.Stream;public class StreamLimit {public static void main(String[] args) {Stream<String>stream=Stream.of("D","j","k","s","t","r","a");stream.limit(3).forEach((i)-> System.out.print(i));}
}


Stream skip方法的使用
延时方法

import java.util.stream.Stream;public class StreamSkip {public static void main(String[] args) {Stream<String> stream=Stream.of("D","j","k","s","t","r","a");stream.skip(3).forEach((i)-> System.out.print(i));}
}

Stream concat方法的使用

import java.util.stream.Stream;
public class StreamConcat {public static void main(String[] args) {Stream<String>stream=Stream.of("D","j","k","s","t","r","a");Stream<String>stream1=Stream.of("s","p","f","a");Stream<String> stream2 = Stream.concat(stream, stream1);stream2.forEach((i)-> System.out.print(i));}
}


样例

package Demo;import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;public class Main {public static void main(String[] args) {Person []asd=new Person[10];int k=0;Stream<String> stream = Stream.of("张三","谢五","李四","蓝孔雀","阿达尔","韩佳人");Stream<String> limit = stream.filter((i) -> i.length() == 3).limit(3);Stream<String> stream1=Stream.of("daidioja","dadadafsrfsdq","weASQQEDQD","adad","sadasd");Stream<String> skip = stream1.filter((i) ->i.length()> 6).skip(2);Stream.concat(limit, skip).map((i)->new Person(i)).forEach(i-> System.out.println(i));}
}

JAVA的Stream相关推荐

  1. 牛逼哄洪的 Java 8 Stream,性能也牛逼么?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 Java8的Stream API可以极大提高Java程序员的生产力 ...

  2. java8 group by_java8新特性Java 8 – Stream Collectors groupingBy 示例 - Java教程

    在这篇教程中,将向你展示如何使用Java 8 Stream的Collectors,来对一个List进行分组,计算个数,求和以及排序. 1. Group By, Count and Sort 1.1 对 ...

  3. 从Java 8中的java.util.stream.Stream检索列表

    本文翻译自:Retrieving a List from a java.util.stream.Stream in Java 8 I was playing around with Java 8 la ...

  4. Java 8 Stream Api 中的 skip 和 limit 操作

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 Java 8 Stream API 中的sk ...

  5. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java 8引入 ...

  6. Java 8 Stream Tutorial--转

    原文地址:http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ This example-driven tutori ...

  7. Java 8 - Stream实战

    文章目录 Pre 练习 基础数据 (1) 找出2011年发生的所有交易,并按交易额排序(从低到高) (2) 交易员都在哪些不同的城市工作过? (3) 查找所有来自于剑桥的交易员,并按姓名排序. (4) ...

  8. Java 8 - Stream流骚操作解读2_归约操作

    文章目录 Pre 什么是归约操作 元素求和 reduce reduce如何运行的 最大值和最小值 Pre Java 8 - Stream流骚操作解读见到过的终端操作都是返回一个 boolean ( a ...

  9. Java 8 - Stream流骚操作解读

    文章目录 分类 中间操作 终端操作 使用Stream流 筛选和切片 用谓词筛选 filter 筛选各异的元素 distinct 截短流 limit 跳过元素 skip 映射 对流中每一个元素应用函数 ...

  10. Java Streams,第 1 部分: java.util.stream 库简介

    Java SE 8 中主要的新语言特性是拉姆达表达式.可以将拉姆达表达式想作一种匿名方法:像方法一样,拉姆达 表达式具有带类型的参数.主体和返回类型.但真正的亮点不是拉姆达表达式本身,而是它们所实现的 ...

最新文章

  1. (原创)按照一定的格式生成一定数量的随机数的例子
  2. Codeforces Round #496 (Div. 3)【未完结】
  3. 云原生应用万节点分钟级分发协同实践
  4. mysql windows软件_windows版MySQL软件的安装
  5. 包含6大数据领域,531个知识点,这张数字化图谱,分享给你
  6. python标签控件是_Python 图形用户界面编程
  7. ORACLE RAC中的oc4j和gsd资源以及RAC相关的进程
  8. java se基础复习3
  9. python3 input函数
  10. Adobe Acrobat Pro 2017安装
  11. 关于layui分页组件layPage如何动态调整页数的使用
  12. matlab boxplot显示平均值,r – Boxplot显示平均值
  13. 典型ARM嵌入式Linux设备启动流程-S3C2440,S5PV210,AM3352x
  14. 局域网共享打印机教程
  15. 以赛促产 以赛引才 |第六届世界智能大会·中国华录杯数据湖算法大赛正式启动
  16. 对比excel 轻松学python百度云_解读《对比Excel轻松学习Python数据分析》
  17. 游戏上云成标配 云服务器该怎么选?
  18. 模拟电话交换机和IPPBX之间进行连接
  19. PPI_DPI 对比
  20. Android 富文本编辑器 图文混排

热门文章

  1. K8S 生态周报| Helm v3.4 发布
  2. 怎么让上下两排对齐_word中如何将上下两行间字、字符、数字分别对齐
  3. 如何自动执行Excel的多次替换--Excel批量替换工具
  4. zero(全志V3S)-32MB Flash移植
  5. 用java解决鬼谷子问题(java 鬼谷子 庞涓 孙膑 2到99)
  6. 使用sass预处理器的优劣
  7. CMMI的关键过程域(KPA)
  8. 利用tldr工具再也不怕记不住Linux命令
  9. SpringMVC中使用ajax
  10. linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中