Sream流

本文介绍了JavaStreamAPI中的各种操作,如过滤、映射、排序、去重、截断、并行处理等,以及常用的统计和聚合操作,通过实例展示了如何使用这些方法处理列表和映射数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过滤:stream.filter(predicate)

映射:stream.map(mapper)

排序:stream.sorted(comparator)

去重:stream.distinct()

截断:stream.limit(n)

跳过:stream.skip(n)

并行处理:stream.parallel()

终端操作:

遍历:stream.forEach(action)

收集:stream.collect(collector)

转换为数组:stream.toArray()

转换为List:stream.collect(Collectors.toList())

转换为Set:stream.collect(Collectors.toSet())

转换为Map:stream.collect(Collectors.toMap(keyMapper, valueMapper))

聚合操作:stream.reduce(identity, accumulator)

匹配操作:stream.anyMatch(predicate), stream.allMatch(predicate), stream.noneMatch(predicate)

统计操作:stream.count(), stream.min(comparator), stream.max(comparator), stream.average(), stream.sum()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
Map<String, Integer> nameLengthMap = names.stream()
                                          .collect(Collectors.toMap(name -> name, name -> name.length()));
System.out.println(nameLengthMap); // 输出: {Alice=5, Bob=3, Charlie=7}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
long count = numbers.stream().count();
int min = numbers.stream().min(Comparator.naturalOrder()).orElse(0);
int max = numbers.stream().max(Comparator.naturalOrder()).orElse(0);
double average = numbers.stream().mapToInt(Integer::intValue).average().orElse(0);
int sum = numbers.stream().mapToInt(Integer::intValue).sum();
System.out.println(count); // 输出: 5
System.out.println(min); // 输出: 1
System.out.println(max); // 输出: 5
System.out.println(average); // 输出: 3.0
System.out.println(sum); // 输出: 15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_树先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值