Java里如何使用Collectors.summarizingLong统计Long数据_Long数据汇总方法说明
技术百科
P粉602998670
发布时间:2025-11-30
浏览: 次 Collectors.summarizingLong用于提取流中元素的long值并生成包含计数、总和、最值和平均值的LongSummaryStatistics对象,适用于需一次性获取多项统计指标的场景。
在Java中,Collectors.summarizingLong 是 java.util.stream.Collectors 类提供的一个归约操作方法,用于对流中的元素提取 long 值并生成一个 LongSummaryStatistics 对象。这个对象包含了统计信息:计数(count)、总和(sum)、最小值(min)、最大值(max)和平均值(average)。
1. 方法基本语法
该方法的定义如下:public static
参数说明:
-
mapper:是一个函数式接口
ToLongFunction,用于从流中的每个元素提取一个long值。
2. 返回结果:LongSummaryStatistics
调用summarizingLong 后会返回一个
LongSummaryStatistics 实例,它提供以下方法获取统计值:
- getCount():元素数量
- getSum():所有值的总和
- getMin():最小值(若无元素,默认为 Long.MAX_VALUE)
- getMax():最大值(若无元素,默认为 Long.MIN_VALUE)
- getAverage():平均值(若无元素,默认为 0.0)
3. 使用示例
假设有一个用户列表,每个用户有年龄字段(用 long 表示),我们想统计这些用户的年龄汇总信息:
import java.util.*;
import java.util.stream.Collectors;
class User {
private String name;
private long age;
public User(String name, long age) {
this.name = name;
this.age = age;
}
public long getAge() {
return age;
}
// getter 和 setter 省略
}
public class Main {
public static void main(String[] args) {
List users = Arrays.asList(
new User("Alice", 30),
new User("Bob", 25),
new User("Charlie", 35),
new User("Diana", 28)
);
LongSummaryStatistics stats = users.stream()
.collect(Collectors.summarizingLong(User::getAge));
System.out.println("总人数: " + stats.getCount());
System.out.println("总年龄: " + stats.getSum());
System.out.println("最小年龄: " + stats.getMin());
System.out.println("最大年龄: " + stats.getMax());
System.out.println("平均年龄: " + stats.getAverage());
}
}
输出结果:
总人数: 4
总年龄: 118
最小年龄: 25
最大年龄: 35
平均年龄: 29.5
4. 注意事项与适用场景
- 适用于需要一次性获取多个统计指标的场景,避免多次遍历流。
- 输入流为空时,
count为 0,sum为 0,min为Long.MAX_VALUE,max为Long.MIN_VALUE,average为 0.0 —— 使用时注意判断是否为空。 - 性能优于分别使用
sum()、max()等单独计算多次。
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Python爬虫项目实战教程_Scrapy抓取与存
- Python对象比较与排序_集合使用说明【指导】
- php文件怎么变mp4保存_php输出视频流保存为
- Win11怎么设置任务栏大小_Windows11注
- php删除数据怎么清空表_truncate与del
- 如何使用 Selenium 正确获取篮球参考网站球
- Win11如何设置环境变量 Win11添加和修改系
- Win11怎么更改鼠标指针_Windows 11自
- Windows如何查看和管理已安装的字体?(字体文
- Python网页解析流程_html结构说明【指导】
- php485函数怎么捕获异常_php485错误处理
- Win11 C盘满了怎么清理 Win11磁盘清理和
- MAC如何修改默认应用程序_MAC文件后缀关联设置
- Linux如何申请SSL免费证书_Linux下Ce
- MAC怎么一键隐藏桌面所有图标_MAC极简模式切换
- 如何使用Golang构建简易投票统计功能_Gola
- Win11怎么查看局域网电脑_Windows 11
- Win11怎么关闭键盘按键音_Win11禁用打字声
- c++ atoi和atof函数用法_c++字符数组
- Win11怎么关闭应用权限_Windows11相机
- Python随机数生成_random模块说明【指导
- Win11任务栏天气怎么关闭 Win11隐藏天气小
- php中::能用于接口静态方法吗_接口静态方法调用
- 一文教你快速开通网站LOGO图
- Win11如何设置计划任务 Win11定时执行程序
- 企业SEO优化选择网站建设模板的技巧
- php后缀怎么变mp4能播放_让php伪装mp4正
- Windows10系统服务优化指南_Win10禁用
- Win10如何优化内存使用_Win10内存优化技巧
- Django密码修改后会话失效的解决方案
- PHP 中如何在函数内持久化修改引用变量的指向
- Windows Defender扫描失败怎么办_安
- Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱
- php修改数据怎么改富文本_update更新htm
- Win11怎么设置多显示器任务栏 Win11扩展任
- Win11如何设置开机问候语 Win11修改登录界
- mac怎么安装pip_MAC Python pip
- 如何在Golang中写入XML文件_生成符合规范的
- Python字符串处理进阶_切片方法解析【指导】
- Mac如何整理桌面文件_Mac使用堆栈功能一键整理
- Mac的Time Machine怎么用_Mac系统
- 如何使用Golang实现跨域请求支持_Golang
- Win10如何关闭安全中心所有通知 Win10禁用
- Win11如何卸载OneDrive_Win11卸载
- 如何在Golang中使用time处理时间_Gola
- 如何高效获取循环末次生成的 NumPy 数组最后一
- 如何在 IIS 上为 ASP.NET 6 应用排除
- Go 中 defer 语句在 goroutine
- Linux如何安装Golang环境_Linux下G
- 如何在Golang中实现文件下载_Golang文件

LongSummaryStatistics
QQ客服