
流操作
java stream教程
flydean程序那些事
懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
展开
-
5万字长文:Stream和Lambda表达式最佳实践-附PDF下载
5万字长文详解介绍Stream和Lambda表达式最佳实践,干货实在太多,最后附上PDF下载,方便大家查阅!原创 2020-07-27 07:40:16 · 21375 阅读 · 6 评论 -
JDK11的新特性:HTTP API和reactive streams
在[JDK11的新特性:新的HTTP API](http://www.flydean.com/jdk11-http-api/)中,我们介绍了通过新的HTTP API,我们可以发送同步或者异步的请求,并获得的返回的结果。今天我们想探讨一下这些同步或者异步请求和响应和reactive streams的关系。怎么在java中使用reactive streams原创 2020-05-17 07:20:26 · 9191 阅读 · 2 评论 -
asList和ArrayList不得不说的故事
文章目录简介创建ArrayListUnsupportedOperationExceptionasList转换总结asList和ArrayList不得不说的故事简介提到集合类,ArrayList应该是用到的非常多的类了。这里的ArrayList是java.util.ArrayList,通常我们怎么创建ArrayList呢?创建ArrayList看下下面的例子:List<String...原创 2020-05-01 08:43:13 · 9310 阅读 · 0 评论 -
自定义parallelStream的thread pool
文章目录简介通常操作使用自定义ForkJoinPool总结自定义parallelStream的thread pool简介之前我们讲到parallelStream的底层使用到了ForkJoinPool来提交任务的,默认情况下ForkJoinPool为每一个处理器创建一个线程,parallelStream如果没有特别指明的情况下,都会使用这个共享线程池来提交任务。那么在特定的情况下,我们想使用...原创 2020-04-29 07:14:03 · 9735 阅读 · 0 评论 -
java 8中构建无限的stream
文章目录简介基本使用自定义类型总结java 8中构建无限的stream简介在java中,我们可以将特定的集合转换成为stream,那么在有些情况下,比如测试环境中,我们需要构造一定数量元素的stream,需要怎么处理呢?这里我们可以构建一个无限的stream,然后调用limit方法来限定返回的数目。基本使用先看一个使用Stream.iterate来创建无限Stream的例子: ...原创 2020-04-29 07:09:46 · 9121 阅读 · 0 评论 -
java 8中 predicate chain的使用
文章目录简介基本使用使用多个Filter使用复合Predicate组合PredicatePredicate的集合操作总结java 8中 predicate chain的使用简介Predicate是一个FunctionalInterface,代表的方法需要输入一个参数,返回boolean类型。通常用在stream的filter中,表示是否满足过滤条件。 boolean test(T t...原创 2020-04-28 07:39:47 · 9258 阅读 · 0 评论 -
java 8 lambda表达式中的异常处理
文章目录简介处理Unchecked Exception处理checked Exception总结java 8 lambda表达式中的异常处理简介java 8中引入了lambda表达式,lambda表达式可以让我们的代码更加简介,业务逻辑更加清晰,但是在lambda表达式中使用的Functional Interface并没有很好的处理异常,因为JDK提供的这些Functional Interf...原创 2020-04-23 06:59:08 · 10564 阅读 · 1 评论 -
怎么break java8 stream的foreach
文章目录简介使用Spliterator自定义forEach方法总结怎么break java8 stream的foreach简介我们通常需要在java stream中遍历处理里面的数据,其中foreach是最最常用的方法。但是有时候我们并不想处理完所有的数据,或者有时候Stream可能非常的长,或者根本就是无限的。一种方法是先filter出我们需要处理的数据,然后再foreach遍历。那...原创 2020-04-26 07:45:34 · 11309 阅读 · 0 评论 -
java 8 stream中的Spliterator简介
文章目录简介tryAdvancetrySplitestimateSizecharacteristics举个例子总结java 8 stream中的Spliterator简介简介Spliterator是在java 8引入的一个接口,它通常和stream一起使用,用来遍历和分割序列。只要用到stream的地方都需要Spliterator,比如List,Collection,IO channel等...原创 2020-04-26 07:40:44 · 11331 阅读 · 0 评论 -
java 8 stream reduce详解和误区
文章目录简介reduce详解总结java 8 stream reduce详解和误区简介Stream API提供了一些预定义的reduce操作,比如count(), max(), min(), sum()等。如果我们需要自己写reduce的逻辑,则可以使用reduce方法。本文将会详细分析一下reduce方法的使用,并给出具体的例子。reduce详解Stream类中有三种reduce,分...原创 2020-04-25 07:51:24 · 7755 阅读 · 0 评论 -
java 8 Stream中操作类型和peek的使用
文章目录简介中间操作和终止操作peek结论java 8 Stream中操作类型和peek的使用简介java 8 stream作为流式操作有两种操作类型,中间操作和终止操作。这两种有什么区别呢?我们看一个peek的例子:Stream<String> stream = Stream.of("one", "two", "three","four"); stream....原创 2020-04-23 06:54:41 · 11252 阅读 · 0 评论 -
怎么在java 8的map中使用stream
文章目录简介基本概念使用Stream获取map的key使用stream获取map的value总结怎么在java 8的map中使用stream简介Map是java中非常常用的一个集合类型,我们通常也需要去遍历Map去获取某些值,java 8引入了Stream的概念,那么我们怎么在Map中使用Stream呢?基本概念Map有key,value还有表示key,value整体的Entry。创建...原创 2020-04-22 07:30:43 · 11566 阅读 · 2 评论 -
在java 8 stream表达式中实现if/else逻辑
文章目录简介传统写法使用filter总结简介在Stream处理中,我们通常会遇到if/else的判断情况,对于这样的问题我们怎么处理呢?还记得我们在上一篇文章lambda最佳实践中提到,lambda表达式应该越简洁越好,不要在其中写臃肿的业务逻辑。接下来我们看一个具体的例子。传统写法假如我们有一个1 to 10的list,我们想要分别挑选出奇数和偶数出来,传统的写法,我们会这样使用:...原创 2020-04-22 07:25:57 · 15662 阅读 · 7 评论 -
java stream中Collectors的用法
在java stream中,我们通常需要将处理后的stream转换成集合类,这个时候就需要用到stream.collect方法。collect方法需要传入一个Collector类型,要实现Collector还是很麻烦的,需要实现好几个接口。于是java提供了更简单的Collectors工具类来方便我们构建Collector。下面我们将会具体讲解Collectors的用法原创 2020-04-24 07:46:58 · 13629 阅读 · 0 评论 -
java 8 Streams简介
文章目录简介Functional InterfaceFunction:一个参数一个返回值BiFunction:接收两个参数,一个返回值Supplier:无参的FunctionConsumer:接收一个参数,不返回值Predicate:接收一个参数,返回booleanOperator:接收和返回同样的类型总结简介java 8引入了lambda表达式,lambda表达式实际上表示的就是一个匿名的f...原创 2020-04-20 11:07:46 · 9761 阅读 · 0 评论