java linq多字段排序时间比较

这篇具有很好参考价值的文章主要介绍了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;
}

java linq多字段排序时间比较,java,linq,开发语言文章来源地址https://www.toymoban.com/news/detail-629776.html

到了这里,关于java linq多字段排序时间比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 字段 Stream 排序

    这篇博客简单记录下 Java 字段 Stream 排序常用方式,欢迎阅读斧正。 用到的类如下: 准备数据: 升序使用 .sorted(Comparator.Comparing(YourClass::Class\\\'s Field) 就行,降序使用 .sorted(Comparator.Comparing(YourClass::Class\\\'s Field, Comparator.reverseOrder()) 。 输出: 利用的是 thenComparing() :升序 thenCom

    2024年02月15日
    浏览(49)
  • 七大基于比较的排序算法(JAVA)

    目录 冒泡排序 优化: 堆排序 插入排序 希尔排序 归并排序 快速排序 优化 选择排序    排序算法的稳定性 : 大小相同 的元素在 排序前后相对位置相同 就称其为 稳定的 排序。 注: 一个本身就是稳定的排序 是可以实现为不稳定的排序的 ;但是相反 一个本身就不稳定的排

    2024年02月08日
    浏览(43)
  • java自然排序Comparable和比较器排序Comparator

    案例需求 存储学生对象并遍历,创建TreeSet集合使用无参构造方法 要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序 实现步骤 使用空参构造创建TreeSet集合 用TreeSet集合存储自定义对象,无参构造方法使用的是自然排序对元素进行排序的 自定义的Student类实

    2024年02月07日
    浏览(90)
  • 十大排序——11.十大排序的比较汇总及Java中自带的排序算法

    这篇文章对排序算法进行一个汇总比较! 目录 0.十大排序汇总 0.1概述 0.2比较和非比较的区别 0.3基本术语 0.4排序算法的复杂度及稳定性 1.冒泡排序 算法简介 动图演示 代码演示 应用场景 算法分析 2.快速排序 算法简介 动图演示 代码演示 应用场景 算法分析 3.插入排序 算法简

    2024年04月29日
    浏览(39)
  • Java项目时间字段问题-MySQL

    Java项目时间字段问题-MySQL ​ 在 Java 项目中,与 MySQL 数据库中的时间字段对应的 Java 类型通常使用 java.time 包中的类,这是从 Java 8 开始引入的日期和时间 API。以下是常见的时间字段和它们在 Java 实体类中的对应类型示例: 1、DATETIME 或 TIMESTAMP ​ 在 MySQL 中, DATETIME 和 TIME

    2024年02月10日
    浏览(42)
  • Java Stream流对多个字段进行排序

    谈起Java 8,不少熟悉它的人,都会知道有一个对我们帮助很大的新特性,没错,就是我们在项目中经常用到的stream,它对我们处理数据的过程中提供了很多的便利,而这边文章主要讲述stream的便利之一:对多个字段进行排序 首先我们在数据库中插入几条样例数据 要求:按照

    2024年02月10日
    浏览(41)
  • 【java实习评审】对小说详情模块的更新判断以及数据库的商用字段设置比较到位

    大家好,本篇文章分享一下【校招VIP】免费商业项目“ 推推 ”第一期 书籍详情模块 java同学的文档作品。该同学来自【山西农业大学】软件工程专业。 本项目亮点难点: 1 热门书籍在更新点的访问压力 2 书籍更新通知的及时性和有效性 3 书荒:同好推荐的可能性 4 后期:定时

    2024年02月15日
    浏览(38)
  • Java基础二十二(对集合元素排序比较)

    1. 使用 Comparable 接口实现默认排序 Comparable 是 Java 中的一个接口,用于定义对象之间的排序规则。 实现了 Comparable 接口的类可以比较其对象的大小(包装类都实现了该接口),从而可以在集合类(如 TreeSet、TreeMap 等)中进行排序和查找操作。这种排序被称为类的自然排序,

    2024年02月10日
    浏览(45)
  • 【数据结构初阶】十、快速排序(比较排序)讲解和实现(三种递归快排版本 + 非递归快排版本 -- C语言实现)

    ========================================================================= 相关代码gitee自取 : C语言学习日记: 加油努力 (gitee.com)  ========================================================================= 接上期 : 【数据结构初阶】九、排序的讲解和实现(直接插入 希尔 直接选择 堆 冒泡 -- C语言)

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包