java8 IntSummaryStatistics Collectors counting summingInt averagingInt maxBy minBy comparingInt

     java8 IntSummaryStatistics Collectors counting summingInt averagingInt maxBy minBy comparingInt

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

public class TestC {

	public static void main(String[] args) {
		Apple apple1 = new Apple("红富士", 45, "红", "辽宁", LocalDate.of(2019, 10, 12));
		Apple apple2 = new Apple("国光", 60, "绿", "河北", LocalDate.of(2019, 10, 18));
		Apple apple3 = new Apple("红星", 50, "红", "山东", LocalDate.of(2019, 9, 10));
		Apple apple4 = new Apple("黄元帅", 85, "黄", "山东", LocalDate.of(2019, 10, 6));
		Apple apple5 = new Apple("嘎啦", 35, "绿", "山东", LocalDate.of(2019, 8, 21));
		Apple apple6 = new Apple("寒富", 40, "红", "辽宁", LocalDate.of(2019, 9, 20));
		List<Apple> appleList = new ArrayList<>();
		appleList.add(apple1);
		appleList.add(apple2);
		appleList.add(apple3);
		appleList.add(apple4);
		appleList.add(apple5);
		appleList.add(apple6);
		
		//计数 Collectors.counting()
		long appleCount = appleList.stream().collect(Collectors.counting());
		System.out.println("计数:" + appleCount);
		//求总和 Collectors.summingInt()
		int appleSum = appleList.stream().collect(Collectors.summingInt(Apple::getWeight));
		System.out.println("求总和:" + appleSum);
		//求平均 Collectors.averagingInt()
		double appleAvg = appleList.stream().collect(Collectors.averagingInt(Apple::getWeight));
		System.out.println("求平均:" + appleAvg);
		//求最大
		Optional<Apple> appleMax = appleList.stream().collect(Collectors.maxBy(Comparator.comparingInt(Apple::getWeight)));
		if (appleMax.isPresent()) {
			System.out.println("求最大:" + appleMax.get());
		}
		//求最小
		Optional<Apple> appleMin = appleList.stream().collect(Collectors.minBy(Comparator.comparingInt(Apple::getWeight)));
		if (appleMin.isPresent()) {
			System.out.println("求最小:" + appleMin.get());
		}
		//一次求所有
		IntSummaryStatistics all = appleList.stream().collect(Collectors.summarizingInt(Apple::getWeight));
		System.out.println(all.getAverage());
		System.out.println(all.getCount());
		System.out.println(all.getMax());
		System.out.println(all.getMin());
		System.out.println(all.getSum());
	}

}
计数:6
求总和:315
求平均:52.5
求最大:Apple [variety=黄元帅, weight=85, color=黄, placeOfOrigin=山东, productionDate=2019-10-06]
求最小:Apple [variety=嘎啦, weight=35, color=绿, placeOfOrigin=山东, productionDate=2019-08-21]
52.5
6
85
35
315
import java.time.LocalDate;

/**
 * @author InJavaWeTrust
 */
public class Apple {
	
	private String variety;
	private int weight;
	private String color;
	private String placeOfOrigin;
	private LocalDate productionDate;
	
	public Apple() {
	}
	
	public Apple(String variety, int weight, String color, String placeOfOrigin, LocalDate productionDate) {
		this.variety = variety;
		this.weight = weight;
		this.color = color;
		this.placeOfOrigin = placeOfOrigin;
		this.productionDate = productionDate;
	}

	public String getVariety() {
		return variety;
	}
	public void setVariety(String variety) {
		this.variety = variety;
	}
	public int getWeight() {
		return weight;
	}
	public void setWeight(int weight) {
		this.weight = weight;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getPlaceOfOrigin() {
		return placeOfOrigin;
	}
	public void setPlaceOfOrigin(String placeOfOrigin) {
		this.placeOfOrigin = placeOfOrigin;
	}
	public LocalDate getProductionDate() {
		return productionDate;
	}
	public void setProductionDate(LocalDate productionDate) {
		this.productionDate = productionDate;
	}
	
	@Override
	public String toString() {
		return "Apple ["
				+ "variety="        + variety        + ", "
				+ "weight="         + weight         + ", "
				+ "color="          + color          + ", "
				+ "placeOfOrigin="  + placeOfOrigin  + ", "
				+ "productionDate=" + productionDate + 
				"]";
	}
	
}

 

【编译原理】LL(1)分析方法 生成语法树(c++实现) 基本流程 输入文法->消除左递归->提取左公共因子->求FIRST集->求FOLLOW集->LL(1)分析表->表驱动的预测语法分析过程->输出语法分析结果和语法树 阅读详情

相关推荐

Crossformer实战:从零开始搭建多变量时间序列预测模型(附ETTh1数据集调参指南)

本文提供了从零开始搭建Crossformer多变量时间序列预测模型的实战指南,并附有详细的ETTh1数据集调参攻略。文章深入解析了Crossformer的核心设计,重点探讨了seg_len和win_size等关键参数对模型性能的影响,并分享了环境配置、训练调试及常见问题的解决方案,帮助开发者高效应用这一前沿深度学习模型。

weixin_29281915的博客 323

Collectors.summingInt()

Collectors.summingInt() Java 8 流的新类 java.util.stream.Collectors 实现了 java.util.stream.Collector 接口,同时又提供了大量的方法对流 ( stream ) 的元素执行 map and reduce 操作,或者统计操作。 Collectors.summingInt() 方法将流中的所有元素视为 int类型,并计算所有元素的总和 ( sum ) summingIntExample代码 @Test public void

技匠而已 1万+

百度智能云ASR实战:5分钟搞定Unity语音转文字(含完整代码)

本文详细介绍了如何在Unity中集成百度智能云ASR服务,实现高效的语音转文字功能。从环境配置、音频处理到服务端通信,提供完整代码示例和实战优化技巧,帮助开发者快速实现语音交互功能,适用于游戏开发、XR应用等场景。

ujm56789012的博客 215

关于Java:Collectors.summingInt()与mapToInt()与sum()

当您要对流中的整数值求和时,有两种主要的实现方式: 第一个涉及对返回的整数进行装箱使用mapToInt()允许您在终端操作之前链接其他IntStream操作。相反,Collectors.summingInt()可以与其他收集器(例如用作groupingBy收集器中的下游收集器。对于这些用例,毫无疑问要使用哪个。在特殊情况下,当您不链接更多操作或不首先与收集器打交道时,这两种方法之间就没有根本的区别。 尽管如此,使用更具可读性的方法还是有道理的。通常,当流上存在预定义的操作时,您就不会使用收集器。当您只能使用

qq_43842093的博客 2037

【雷达成像实战】RD、CS、RMA算法对比与Matlab实现:从信号处理到高清成像

本文深入对比了雷达成像中三种核心算法:经典的距离多普勒算法(RD)、基于稀疏重建的压缩感知算法(CS)以及高精度的快速多通道获取算法(RMA)。通过详细的Matlab实战代码,从原理拆解到实现步骤,分析了各自在计算效率、成像精度、数据需求和适用场景上的优劣,为工程选型与算法实践提供了清晰指南。

weixin_29095587的博客 452

Linux下的隐藏技术(文件隐藏、进程隐藏、端口隐藏、权限隐藏、命令隐藏)

这种技巧是关键记录删除,或者我们可以暴力点,比如前150行是用户的正常操作记录,150以后是攻击者操作记录。在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。这种情况下我们怎么办?在shell中执行的命令,不希望被记录在命令行历史中,如何在linux中开启无痕操作模式呢?

墨痕诉清风的博客 747

Collectors

Java8 Collectors类简易使用

weixin_42957408的博客 546

【JTAG】1149.6协议详解

JTAG1149.6协议是1149.1协议中Boundary-Scan结构的扩展,1149.1对交流耦合、差分或两者兼有的情况并没有得到充分的处理。该协议支持新的I/O测试结构。需要时变(AC)信号的高级I/O引脚允许测试它们之间的连接,这包括所有差分信号引脚或单端信号引脚,通过设计支持交流耦合。..................

xuhe0206的博客 4575

Collectors.summing方法

Collectors.summing方法

weixin_45428910的博客 834

【局部规划模块曲线算法】曲线平滑介绍

本文先对轨迹平滑问题做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容(1)适合给移动机器人运动的路径【满足运动学,高阶平滑】(2)高阶的运动学不能够突变的【至少三阶的加速度不能突变,最好四阶的jerk和五阶的snap也不能突变】(3)在转弯的地方不会停下来(4)加减速均衡,节省能量(5)节省时间的。

qq_35635374的博客 5718

ROS 之 使用yocs_velocity_smoother对机器人速度进行限制

yocs_velocity_smoother是一个速度、加速度限制器,用来防止robot navigation的速度/转速过快,加速度/快减速过大。Bound incoming velocity messages according to robot velocity and acceleration limits. The velocity smoother nodelet runs together with the kobuki_node to apply robot’s velocity and .

https://shixuebin.gitee.io/hexo-blog/ 2623

Collectors.summingDouble()

Collectors.summingDouble() Java 8 流的新类 java.util.stream.Collectors 实现了 java.util.stream.Collector 接口,同时又提供了大量的方法对流 ( stream ) 的元素执行 map and reduce 操作,或者统计操作。 Collectors.summingDouble() 方法将流中的所有元素视为 Double类型,并计算所有元素的总和 ( sum ) summingDoubleExample代码 @Test

技匠而已 7497

QML实现ListView的拖动排序

现有一种需求,就是用鼠标拖动某项,动态去改变某一项在ListView中显示的顺序位置,经过研究及实践实战,实现方式的核心代码如下: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 Rectangle { width: 800 ...

草上爬的博客 7564

看山聊Java:一文掌握 Java8 Stream 中 Collectors 的 24 个操作

你好,我是看山。 Java8 应该算是业界主版本了,版本中重要性很高的一个更新是Stream流处理。关于流处理内容比较多,本文主要是说一下Stream中的Collectors工具类的使用。 Collectors是java.util.stream包下的一个工具类,其中各个方法的返回值可以作为java.util.stream.Stream#collect的入参,实现对队列的各种操作,包括:分组、聚合等。官方文档给出一些例子: Implementations of {@link Collector} tha.

沉潜飞动 2122

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

掌握 Java Stream 的 Collectors.summingInt

在实际开发中,建议优先使用 Collectors.summingInt 替代传统的循环求和方式,特别是在处理集合中对象属性求和时,能显著提升代码质量和执行效率。

潜意识Java的博客 1048

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java8 Collectors类详解(二)

Collectors 类是用于对流进行收集和汇总的工具类。它提供了许多方法来对流进行分组、统计、转换、分区、连接、归约等操作,使得处理集合类数据变得更加方便。 在使用 Collectors 类时,我们可以通过调用其中的方法来实现对流的不同处理方式。例如,将流中的元素收集到一个 List 中,可以使用 toList() 方法;按照指定条件进行分组,可以使用 groupingBy() 方法;统计流中的元素个数,可以使用 counting() 方法等等。

Ascend1977的博客 4058

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java8 Collectors收集器的简单方法

案例变量:menu为一个菜单列表(list),内含有name(名字)、calories(热量)、type(类型)属性。1)    toList()                                List&lt;T&gt;                    将流中所有的项目收集到一个List使用示例:List&lt;Dish&gt; dishes = menuStream.col...

Mark_Xu的博客 1007

Java Stream Collectors的summarizingInt()、averagingInt()、summingInt()的使用

Stream是Java 8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、方便聚合操作或者大批量的数据操作,提高了编程效率和代码可读性。Collectors通常在Stream处理后,返回转换成集合类时使用,本文主要介绍Java Stream中Collectors.summarizingDouble/Long/Int()、Collectors.averagingDouble/Long/Int()和Collectors.summingDouble/Long/Int()的

m0_60105488的博客 2506

collectors 求和_Java8中Collectors求和功能的自定义扩展

Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待4999元包邮去购买 >起因业务中需要将一组数据分类后收集总和,原本可以使用Collectors.summingInt(),但是我们的数据源是BigDecimal类型的,而Java8原生只提供了summingInt、summingLong、summingDouble三种基础类型的方法。于是就自己动...

weixin_39858132的博客 659

Java中Stream配合Lambda使用详解

Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的便利。Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高级迭代器。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找/筛选/过滤、排序、聚合和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询

qq_25775675的博客 2734

java求集合平均数_java8实现list集合中按照某一个值相加求和,平均值等操作代码...

集合:List user = new User();user .stream().collect(Collectors.summingInt(User::getAge))参数类型:summarizingDouble 统计数据(double)状态, 其中包括count min max sum和平均值summarizingInt 统计数据(int)状态, 其中包括count min max sum和平...

weixin_42507411的博客 1万+

JavaEE进阶知识学习-----Java8新特性知识学习-4-1-StreamAPI

什么是Stream Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行测操作,可以执行非常复杂的查找,过滤和映射数据的操作,使用Stream API对集合数据进行操作就类似于使用SQL执行的数据库查询查询,Stream API提供了一种高效且易于使用的处理数据的方式。 流(Stream)是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列,“集合讲的是数据,流讲...

疾风知劲草,智者必怀仁 350

Java8新特性——StreamAPI(二)

1. 收集器简介收集器用来将经过筛选、映射的流进行最后的整理,可以使得最后的结果以不同的形式展现。collect方法即为收集器,它接收Collector接口的实现作为具体收集器的收集方法。Collector接口提供了很多默认实现的方法,我们可以直接使用它们格式化流的结果;也可以自定义Collector接口的实现,从而定制自己的收集器。这里先介绍Collector常用默认静态方法的使用,自定义收集器会

大闲人柴毛毛 2万+

Java 8(四):Stream 收集器

文章目录1、Collectors 收集器简介2、Collectors 收集器常用静态方法3、预定义收集器3.1、归约汇总3.1.1、Collectors.counting()3.1.2、Collectors.minBy、Collectors.maxBy3.1.3、Collectors.summingInt、Collectors.summingLong、Collectors.summingDoubl...

码客 613

使用Stream多年,collect还有这些“骚操作”?

前面我们演示了很多Collectors工具类中提供的收集器的用法,上一节中列出来的Collectors提供的常用收集器,也可以覆盖大部分场景的开发诉求了。但也许在项目中,我们会遇到一些定制化的场景,现有的收集器无法满足我们的诉求,这个时候,我们也可以自己来实现定制化的收集器。!我们知道,所谓的收集器,其实就是一个Collector接口的具体实现类。所以如果想要定制自己的收集器,首先要先了解Collector接口到底有哪些方法需要我们去实现,以及各个方法的作用与用途。当我们新建一个。...

LoveSummer 2万+

Java8-Stream流操作(二)

2 表达式,计算得出 [2,8,18,32] ,然后传递给 Collectors.averagingLong() 计算得到结果为 25.0。Collectors.summingInt() 方法将流中的所有元素视为 int 类型,并计算所有元素的总和 ( sum )s lambda 表达式,计算得出结果为 [1,4,9,16] ,然后再把 [1,4,9,16] 传递给 v->v。Collectors.summingLong() 将流中的所有元素视为 long 类型,并计算所有元素的总和 .

weixin_49219837的博客 1418
上一篇: 自动生成代码工具 配置文件工具类
下一篇: java8 常用的流操作 stream collect map filter flatMap max min reduce
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值