/**
* 得到优先级最高的集合
* @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));
}
												

最新文章

  1. vue2 上传图片
  2. Vijos1451圆环取数[环形DP|区间DP]
  3. 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
  4. git 安装或者更新
  5. lintcode :Binary Tree Preorder Traversal 二叉树的前序遍历
  6. interactive_timeout
  7. Linux下top订购具体解释
  8. 转:为什么要使用NoSQL
  9. ASP.NET MVC知识点总结
  10. 原生js在绑定事件时不用获取id名可直接用id名绑定???
  11. Qt日常备注(函数/接口实现)
  12. Zookeeper+Kafka集群部署(转)
  13. SpringCloud系列——Eureka 服务注册与发现
  14. java学习笔记(六):变量类型
  15. 浅析JavaScript正则表达式
  16. 天池新人赛-天池新人实战赛o2o优惠券使用预测(一)
  17. Oracle 创建分区表
  18. css布局 - 垂直居中布局的一百种实现方式(更新中...)
  19. Reg2Bat_By Slore(生成同名bat文件,支持XP WIN7 WIN7X64).vbs
  20. 解决PHP中文乱码问题

热门文章

  1. (转)shell脚本使用curl获取访问网站的状态码
  2. 使用PowerShell 自动安装VC++补丁
  3. xshell设置
  4. SqlServer中union 和 union all的区别
  5. Java 中的动态代理
  6. c++学习笔记之类和对象(二、构造函数和析构函数)
  7. vue cli3项目发布在apache www/vue目录下并配置history路由
  8. 101、Service 之间如何通信?(Swarm08)
  9. 07 Deque的应用案例-回文检查
  10. new angular 项目的工作区配置文件和应用源文件