我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java8 如何实现分组计算数量和计算总数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java8 如何实现分组计算数量和计算总数

java8分组计算数量和计算总数


package com.pig4cloud.pigx.admin.api.vo;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;
import java.util.*;
import java.util.stream.Collectors;

@Data
public class RealSkuVo implements Cloneable{
	private String realEan;
	private Integer realQty;
	public static void main(String[] args) throws CloneNotSupportedException {
		List<RealSkuVo> list = new ArrayList<>();
		RealSkuVo a = new RealSkuVo();
		RealSkuVo b1 = (RealSkuVo)a.clone();
		b1.setRealEan("asdasda");
		b1.setRealQty(1);
		RealSkuVo b2 = (RealSkuVo)a.clone();
		b2.setRealEan("asdasda2");
		b2.setRealQty(1);
		RealSkuVo b3 = (RealSkuVo)a.clone();
		b3.setRealEan("asdasda3");
		b3.setRealQty(1);
		RealSkuVo b4 = (RealSkuVo)a.clone();
		b4.setRealEan("asdasda3");
		b4.setRealQty(1);
		list.add(b1);
		list.add(b2);
		list.add(b3);
		list.add(b4);
		Map<String, LongSummaryStatistics> collect = list.stream().collect(Collectors.groupingBy(RealSkuVo::getRealEan,Collectors.summarizingLong(RealSkuVo::getRealQty)));
		Map<String, Long> collect1 = list.stream().collect(Collectors.groupingBy(RealSkuVo::getRealEan, Collectors.counting()));
		System.out.println(collect);
	}
}

Java8利用Stream分组统计List(或数组)中元素的个数,结果存放在Map


int[] arr=new int[]{5,1,3,4,1};
//若统计的是int数组,先转化为List
List<Integer> list= Arrays.stream(arr).boxed().collect(Collectors.toList());
//groupingBy分组
Map<Integer, Long> map = list.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
//控制台输出map
map.forEach((k,v)->{
      System.out.println("k="+k+",v="+v);
});

k=1,v=2
k=3,v=1
k=4,v=1
k=5,v=1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java8 如何实现分组计算数量和计算总数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java8怎么实现分组计算数量和计算总数

本篇内容介绍了“java8怎么实现分组计算数量和计算总数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!java8分组计算数量和计算总数pac
2023-06-20

sql如何分组并计算数量

在SQL中,使用GROUP BY子句可以将数据分组,并使用聚合函数计算每个组的数量。例如,假设有一个名为"orders"的表,其中包含订单信息,包括订单号(order_id)、客户号(customer_id)和订单日期(order_date
2023-08-08

PHP如何计算数组元素总和

本篇内容主要讲解“PHP如何计算数组元素总和”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP如何计算数组元素总和”吧!本篇文章来看看如何计算数组中所以元素之后,给大家介绍3钟方法:for循环
2023-06-20

Python基础之数组和向量化计算总结

一、多维数组1、生成ndarray     (array函数)   .np.array()生成多维数组例如:import numpy as npdata1=[6,7.5,8,0,1]     #创建简单的列表print(data1)arr1
2023-01-31

PHP怎么计算数组元素总和

这篇文章主要介绍“PHP怎么计算数组元素总和”,在日常操作中,相信很多人在PHP怎么计算数组元素总和问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么计算数组元素总和”的疑惑有所帮助!接下来,请跟着小编
2023-06-20

PHP中计算数组个数总和的技巧

PHP中计算数组个数总和的技巧在PHP中,计算数组个数总和是一个常见的操作。有时候我们需要统计数组中元素的个数,然后将它们相加得到总和。在本文中,我们将介绍几种计算数组个数总和的技巧,同时提供具体的代码示例。方法一:使用count()函
PHP中计算数组个数总和的技巧
2024-03-13

如何用php回溯算法计算组合总和

本篇内容主要讲解“如何用php回溯算法计算组合总和”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用php回溯算法计算组合总和”吧!给定一个数组 candidates 和一个目标数 targe
2023-06-20

php数组如何计算乘积和求和

本篇内容主要讲解“php数组如何计算乘积和求和”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组如何计算乘积和求和”吧!php数组计算乘积和求和的方法:1、用array_product()
2023-06-30

Java如何计算数组的差异

Java数组差异计算本文提供了三种Java中计算数组差异的方法:异或运算符(^):返回元素异或运算结果,不同元素为非0。Arrays.equals()方法:比较数组是否相等,返回true或false。自定义方法:灵活定制计算过程。根据特定需求选择方法:快速简单:异或运算符比较相等:Arrays.equals()定制计算:自定义方法
Java如何计算数组的差异
2024-04-02

Java如何计算数组的交集

本文介绍了Java计算数组交集的方法,包括使用Arrays.asList()和Set.retainAll()、Collections.intersection()以及自定义算法。这些方法提供了不同等级的效率和灵活性,具体选择取决于数组大小、性能要求和代码复杂性。
Java如何计算数组的交集
2024-04-02

PHP如何计算数组的差异

PHP计算数组差异的方法:array_diff():比较元素存在与否。array_diff_assoc():比较关联数组键值。array_diff_key():比较键。array_udiff():使用自定义比较函数。array_intersect():比较共同元素。array_intersect_assoc():比较关联数组键值。array_intersect_key():比较键。
PHP如何计算数组的差异
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录