你要知道:
1.stream就是用来遍历的,和for循环什么的差不多就是写法不同。
2.filter就是用来写循环里的过滤条件的,和你自己加区别不大就是看着更方便点。
3.filter ()里操作的结果必须是true or false。
来个最简单的:
对,说白了就是把你写的过滤条件过滤下来。
那问题来了,我有很多逻辑需要过滤怎么办?写个方法放进去呗
注意:
1.filter(StreamTest::myFilter),其实就是把遍历的每个对象当做参数传给:myFilter 去过滤。
2.定义的过滤函数只能有一个参数,且这个参数类型和遍历的对象一致。
3.StreamTest::myFilter ,StreamTest类名,myFilter 方法名,记住就完了。
最后这里,collect(Collectors.toList())。其实就是需要把这些操作完的数据返回什么类型的结果收集。
比如日常开发中你想结果去重可以选toSet
技艺不精,欢迎各路大神指导补充。