java8 新用法
2024-10-07 03:26:29
/**
* 得到优先级最高的集合
* @param list es查询结果
* @return
*/
public List<Group> getMaxPriorityGroup(List<Group> list) {
int maxPriority = list.stream().max((o1, o2) -> o1.getPriority() - o2.getPriority()).get().getPriority();
return list.stream().filter(x -> x.getPriority() == maxPriority).collect(Collectors.toList());
}
/**
* 跟据优先级排序,优先级相同的则随机
* @param campaignList es查询集合
* @return
*/
@Override
public List<EsCampaign> sortByPriority(List<EsCampaign> campaignList) {
if(campaignList.size()==0){
return campaignList;
} Random random = new Random();
campaignList.stream().map(x -> {
x.setCampaignPriority(x.getCampaignPriority() * 1000 + random.nextInt(999));
return x;
}).collect(Collectors.toList()); campaignList.sort((EsCampaign a, EsCampaign b) -> b.getCampaignPriority() - a.getCampaignPriority());
//list.parallelStream().sorted(Comparator.comparing(Group::getPriority)).collect(Collectors.toList()).forEach(System.out::println);另一种排序方法 。
return campaignList;
}
public
Map<String, List<Article>> groupByAuthor() {
return
articles.stream()
.collect(Collectors.groupingBy(Article::getAuthor));
}
最新文章
- vue2 上传图片
- Vijos1451圆环取数[环形DP|区间DP]
- 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
- git 安装或者更新
- lintcode :Binary Tree Preorder Traversal 二叉树的前序遍历
- interactive_timeout
- Linux下top订购具体解释
- 转:为什么要使用NoSQL
- ASP.NET MVC知识点总结
- 原生js在绑定事件时不用获取id名可直接用id名绑定???
- Qt日常备注(函数/接口实现)
- Zookeeper+Kafka集群部署(转)
- SpringCloud系列——Eureka 服务注册与发现
- java学习笔记(六):变量类型
- 浅析JavaScript正则表达式
- 天池新人赛-天池新人实战赛o2o优惠券使用预测(一)
- Oracle 创建分区表
- css布局 - 垂直居中布局的一百种实现方式(更新中...)
- Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs
- 解决PHP中文乱码问题