文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯