N个utils(Stream API和Lambda)

Stream API基本操作
创建Stream:
从集合创建Stream:list.stream()
从数组创建Stream:Arrays.stream(array)
创建无限流:IntStream.iterate(0, n -> n + 1)
中间操作:
filter(Predicate<T> predicate):过滤元素。
map(Function<T, R> mapper):映射元素。
flatMap(Function<T, Stream<R>> mapper):扁平化流。
sorted():排序。
distinct():去除重复元素。
终止操作:
forEach(Consumer<T> action):遍历元素。
reduce(BinaryOperator<T>):归约。
collect(Collector<T,A,R> collector):收集结果。
anyMatch/Predicate<T>:是否存在满足条件的元素。
allMatch/Predicate<T>:所有元素是否都满足条件。
noneMatch/Predicate<T>:是否存在不满足条件的元素。
findFirst/Optional<T>:获取第一个元素。
count/long:计算元素数量。
Lambda表达式
Lambda表达式是一种匿名函数,它可以作为方法参数或局部变量。Lambda表达式简化了函数式接口的实现,使得代码更加简洁。

Lambda表达式语法
Lambda表达式的语法形式如下:

不用stream流: 

List<String> list = Arrays.asList("hello", "world", "java", "stream", "lambda");

List<String> result = new ArrayList<>();

for (String s : list) { if (s.length() > 3) { result.add(s.toUpperCase()); } }

 用stream流

List<String> list = Arrays.asList("hello", "world", "java", "stream", "lambda");

List<String> result = list.stream() .filter(s -> s.length() > 3) .map(String::toUpperCase) .collect(Collectors.toList());

并行流

List<String> result = list.parallelStream() .filter(s -> s.length() > 3) .map(String::toUpperCase) .collect(Collectors.toList()); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值