java中list.stream().filter
时间: 2023-11-01 20:58:11 浏览: 96
list.stream().filter方法用于对传入的数据流进行过滤处理,只返回满足条件的数据组成的新的数据流。在你提供的代码中,filter方法的参数是一个Lambda表达式(i->i>50),表示筛选出大于50的整数。返回的结果是一个新的List,其中包含满足条件的元素。所以在你的代码中,result列表中只包含大于50的元素,即[232]。
与filter方法类似,map方法也是对数据流进行处理的方法。它将传入的数据流中的每个元素映射成一个新的元素,并返回一个包含这些新元素的数据流。举个例子,如果你有一个整数列表[1, 2, 3],你可以使用map方法将每个元素都乘以2,得到一个新的列表[2, 4, 6]。
findFirst方法用于返回非空集合中的第一个满足条件的元素值。它通常与filter方法结合使用。在你提供的代码中,findFirst方法的参数是一个Lambda表达式(i->i>20),表示找到大于20的第一个元素。如果找到了满足条件的元素,则返回Optional类型的结果,你可以使用op.get()获取该元素的值。如果没有找到满足条件的元素,则返回Optional.empty()。
findAny方法与findFirst方法类似,它也是用于在数据流中查找满足条件的元素。不同之处在于,findAny方法可以在并行处理的流中找到任意一个满足条件的元素,并返回该元素的值。所以在你提供的代码中,parallelStream方法将列表转换为并行处理的流,然后使用filter方法筛选出大于20的元素,并使用findAny方法返回第一个满足条件的元素,最后使用get方法获取该元素的值。
阅读全文