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

网友投稿 375 2022-12-30

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

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

package com.pig4cloud.pigx.admin.api.vo;

import lombok.Builder;

import lombok.Data;

import lombok.experimental.Tolerate;

impufrRjort java.util.*;

import java.util.stream.Collectors;

/***

*

*Create by 范春宇 on 2019/12/26 17:22

*/

@Data

public class RealSkuVo implements Cloneable{

private String realEan;

private Integer realQty;

public static void main(String[] args) throws CloneNotSupportedException {

List 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 collect = list.stream().collect(Collectors.groupingBy(RealSkuVo::getRealEan,Collectors.summarizingLong(RealSkuVo::getRealQty)));

Map 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 list= Arrays.stream(arr).boxed().collect(Collectors.toList());

//groupingBy分组

Map map = list.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

/ufrRj/控制台输出map

map.forEach((k,v)->{

System.out.println("k=http://"+k+",v="+v);

});

k=1,v=2

k=3,v=1

k=4,v=1

k=5,v=1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:网站创建api接口(网站的api接口)
下一篇:SpringBoot2整合Redis实现读写操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~