博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java8 运算语法集
阅读量:4310 次
发布时间:2019-06-06

本文共 1042 字,大约阅读时间需要 3 分钟。

1、分组并进行求和组合运算

示例主要代码:

List
items = Arrays.asList("apple", "apple", "banana", "apple", "orange", "banana", "papaya");Map
result = items.stream().collect( Collectors.groupingBy( Function.identity(), Collectors.counting() ) );System.out.println(result);

运行结果如下:

{papaya=1, orange=1, banana=2, apple=3}

或者针对对象的复杂处理:

/** *  * 先按slotId进行分组,再对分好组之后的数据进行求和 *  */
Map
adNumMap = adSlotDataList.stream() .collect(Collectors.groupingBy(AdSlotData::getSlotId, Collectors.summingLong(AdSlotData::getAdNum)));

2、List转换成Map

示例主要代码:

/** * List -> Map * 需要注意的是: * toMap 如果集合对象有重复的key,会报错Duplicate key ....  *  apple1,apple12的id都为1。 *  可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2 */
Map
adPVNumMap = adSlotDataList.stream() .collect(Collectors.toMap(AdSlotData::getSlotId, adSlotData -> adSlotData, (k1, k2) -> k1));

 

转载于:https://www.cnblogs.com/kingsonfu/p/9859061.html

你可能感兴趣的文章
5.学习资源
查看>>
IOS错误总结
查看>>
Win10系列:C#应用控件进阶4
查看>>
std::remove_if
查看>>
前端学HTTP之报文首部
查看>>
设置IIS 兼容32位DLL
查看>>
Python输出格式全总结
查看>>
Python数据结构 将列表作为栈和队列使用
查看>>
UVA 10815 Andy's First Dictionary【set】
查看>>
【CUDA 基础】3.2 理解线程束执行的本质(Part I)
查看>>
xshell配色
查看>>
php缓存
查看>>
【POJ2778】AC自动机+矩阵乘法
查看>>
自定义粘贴板-陈鹏
查看>>
Spark ML参考博客
查看>>
安装go语言,配置环境及IDE,只需3步
查看>>
本周最后一天——4.18
查看>>
JS类型、值和变量 笔记
查看>>
sqlalchemy和pymysql通过ssh连接远程mysql服务器
查看>>
eclipse主题样式
查看>>