当前位置: 首页 > news >正文

java linq多字段排序时间比较

    public static void main(String[] args) {//100万条数据List<CrmInvestSaleUserCount> waitAssignUserList = new ArrayList<>();for (int i = 0; i < 1000000; i++) {waitAssignUserList.add(new CrmInvestSaleUserCount().setSales_username("test" + i).setCount(BigDecimal.valueOf(RandomUtils.nextDouble(0.00, 9.99))).setWeight(BigDecimal.valueOf(RandomUtils.nextInt(1, 50))));}//第一种方式 count升序/weight降序long startTime = System.currentTimeMillis();CrmInvestSaleUserCount saleUserCount = Linq.of(waitAssignUserList).orderBy(CrmInvestSaleUserCount::getCount).thenByDescending(CrmInvestSaleUserCount::getWeight).first();log.debug("min1:{},花费时间:{}", saleUserCount, System.currentTimeMillis() - startTime);//第二种方式 先按count分组,取最小组,再在最小组中取weight最大的startTime = System.currentTimeMillis();CrmInvestSaleUserCount crmInvestSaleUserCount = Linq.of(waitAssignUserList).groupBy(CrmInvestSaleUserCount::getCount).minBy(IGrouping::getKey).maxBy(CrmInvestSaleUserCount::getWeight);log.debug("min2:{},花费时间:{}", crmInvestSaleUserCount, System.currentTimeMillis() - startTime);}

        使用的基础类

public class CrmInvestSaleUserCount {@Schema(description = "招商人员手机号")private String sales_username;@Schema(description = "招商人员显示名称")private String sales_display_name;@Schema(description = "招商人员已分配数量")private BigDecimal count;@Schema(description = "招商人员权重")private BigDecimal weight;
}

 

http://www.lryc.cn/news/108088.html

相关文章:

  • 【c++】rand()随机函数的应用(二)——舒尔特方格数字的生成
  • “深入剖析JVM内部机制:探索Java虚拟机的运行原理“
  • pandas 新增数据列的几种方式
  • linux_驱动_iic总线获取si7006温湿度
  • 虚拟机网络图标不见了
  • CTF:信息泄露.(CTFHub靶场环境)
  • Redis学习总结
  • 云原生全栈体系(二)
  • C++设计模式之建造者设计模式
  • HDFS Erasure coding-纠删码介绍和原理
  • STM32 DHT11
  • 词法分析器
  • 【Spring】Spring之启动过程源码解析
  • 状态模式(State)
  • 【uniapp】样式合集
  • 【Spring框架】SpringBoot统一功能处理
  • 51单片机学习--按键控制流水灯模式定时器时钟
  • Django教程_编程入门自学教程_菜鸟教程-免费教程分享
  • VGG卷积神经网络-笔记
  • Python爬虫如何实现IP代理池搭建
  • 单例模式:保证一个类只有一个实例
  • 【新版系统架构补充】-七层模型
  • 第2章 C语言概述
  • vscode vue3开发常用插件(附Prettier格式化配置)
  • 【微信小程序】van-uploader实现文件上传
  • 人工智能在计算机视觉中的应用与挑战
  • 以太网接口指示灯状态分析和电路设计
  • Redis的基础
  • LeetCode 626. 换座位
  • 华为、阿里巴巴、字节跳动 100+ Python 面试问题总结(六)