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多字段排序时间比较
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…...
【c++】rand()随机函数的应用(二)——舒尔特方格数字的生成
目录 一、舒尔特方格简介 二、如何生成舒尔特方格 (一)线性同余法 1、利用线性同余法生成随机数序列的规律 (1) 当a和c选取合适的数时,可以生成周期为m的随机数序列 (2) 种子seed取值也是有周期的 2、利用线性同余法生成5阶舒尔特方格…...
“深入剖析JVM内部机制:探索Java虚拟机的运行原理“
标题:深入剖析JVM内部机制:探索Java虚拟机的运行原理 摘要:本文将深入探讨Java虚拟机(JVM)的内部机制,包括类加载、内存管理、垃圾回收、即时编译等关键概念和原理,帮助开发者更好地理解JVM的运…...
pandas 新增数据列的几种方式
准备数据 将下面的数据存到csv中 ymd,bWendu,yWendu,tianqi,fengxiang,fengli,aqi,aqiInfo,aqiLevel 2018-01-01,3℃,-6℃,晴~多云,东北风,1-2级,59,良,2 2018-01-02,2℃,-5℃,阴~多云,东北风,1-2级,49,优,1 2018-01-03,2℃,-5℃,多云,北风,1-2级,28,优,1 2018-01-04,0℃,-8℃…...
linux_驱动_iic总线获取si7006温湿度
应用层si7006.c #include<stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <arpa/inet.h>…...
虚拟机网络图标不见了
有3台虚拟机之前正常运行的,有一天打开虚拟机发现2台虚拟机的网络连接图标不见了,也ping不通另外两台。 解决:在终端执行以下命令,即可ping通 [roothadoop103 ~]# sudo nmcli network off [roothadoop103 ~]# sudo nmcli network…...
CTF:信息泄露.(CTFHub靶场环境)
CTF:信息泄露.(CTFHub靶场环境) “ 信息泄露 ” 是指网站无意间向用户泄露敏感信息,泄露了有关于其他用户的数据,例如:另一个用户名的财务信息,敏感的商业 或 商业数据 ,还有一些有…...
Redis学习总结
Redis学习总结 文章目录 Redis学习总结Radis基本介绍docker的安装基本数据结构通用命令字符型key的层次结构Hash类型Listset sortedset集合redis的java客户端jedis的使用jedis连接池的配置 SpringDataRedis自定义redistemplate的序列化与反序列化方式stringtemplate的使用 redi…...
云原生全栈体系(二)
Kubernetes实战入门 第一章 Kubernetes基础概念 一、是什么 我们急需一个大规模容器编排系统kubernetes具有以下特性: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大,Kubernetes 可以负…...
C++设计模式之建造者设计模式
C建造者设计模式 什么是建造者设计模式 建造者设计模式是一种创建型设计模式,它是一种将复杂对象的分解为多个独立部分的模式,以便于构建对象的过程可以被抽象出来并独立变化。 该模式有什么优缺点 优点 灵活性:建造者设计模式允许对象的…...
HDFS Erasure coding-纠删码介绍和原理
HDFS Erasure coding-纠删码介绍和原理 三副本策略弊端Erasure Coding(EC)简介Reed- Solomon(RS)码 EC架构 三副本策略弊端 为了提供容错能力,hdfs回根据replication factor(复制因子)在不同的…...
STM32 DHT11
DHT11 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 使用单总线通信 该传感器包括一个电容式感湿元件和一个NTC测温元件,并于一个高性能8位单片机相连(模数转换)。 DHT11引脚说明 开漏模式下没有输出高电平的能…...
词法分析器
词法分析器 在早期编译1.0时代,我们的目标是完成程序语言到机器语言的翻译,所以重点在编译器前端,于是我们花费大量时间研究词法分析、语法分析、语义分析等内容。如今的本科编译原理课程,基本上也就到这一层面吧。 在编译2.0时…...
【Spring】Spring之启动过程源码解析
概述 我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。 Spring启动过程主要做了这么几件事情: 构造一个BeanFactory对象解析配置类,得到BeanDefinition,并注册到BeanFactory中 解析ComponentS…...
状态模式(State)
状态模式是一种行为设计模式,允许一个对象在其内部状态改变时改变它的行为,使其看起来修改了自身所属的类。其别名为状态对象(Objects for States)。 State is a behavior design pattern that allows an object to change its behavior when its inter…...
【uniapp】样式合集
1、修改uni-data-checkbox多选框的样式为单选框的样式 我原先是用的单选,但是单选并不支持选中后,再次点击取消选中;所以我改成了多选,然后改变多选样式,让他看起来像单选 在所在使用的页面上修改样式即可 <uni-d…...
【Spring框架】SpringBoot统一功能处理
目录 用户登录权限校验用户登录拦截器排除所有静态资源练习:登录拦截器拦截器实现原理 统一异常处理统一数据返回格式为什么需要统⼀数据返回格式?统⼀数据返回格式的实现 用户登录权限校验 用户登录拦截器 1.自定义拦截器 package com.example.demo.…...
51单片机学习--按键控制流水灯模式定时器时钟
TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…...
Django教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统…...
VGG卷积神经网络-笔记
VGG卷积神经网络-笔记 VGG是当前最流行的CNN模型之一, 2014年由Simonyan和Zisserman提出, 其命名来源于论文作者所在的实验室Visual Geometry Group。 测试结果为: 通过运行结果可以发现,在眼疾筛查数据集iChallenge-PM上使用VGG…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
