成都网站建设公司电话厂房外墙设计效果图

web/2025/9/27 19:16:35/文章来源:
成都网站建设公司电话,厂房外墙设计效果图,wordpress前台不显示,小程序制作pdf项目中有段代码逻辑是个双重for循环#xff0c;发现数据量大的时候#xff0c;直接导致数据接口响应超时#xff0c;这里记录下不断优化的过程#xff0c;算是抛砖引玉吧~ Talk is cheap,show me your code#xff01; 双重for循环优化 1、数据准备2、原始双重for循环3、…项目中有段代码逻辑是个双重for循环发现数据量大的时候直接导致数据接口响应超时这里记录下不断优化的过程算是抛砖引玉吧~ Talk is cheap,show me your code 双重for循环优化 1、数据准备2、原始双重for循环3、直接使用双重for循环查询条件增加break条件4、使用迭代器来删除内层循环中已使用或判断过的元素减少循环次数5、把要筛选的信息写成map集合遍历List时用map.get(key)来实现检索6、总结 1、数据准备 Order Data AllArgsConstructor NoArgsConstructor Builder public class Order {private Integer orderId;private String orderName; }OrderDetail Data AllArgsConstructor NoArgsConstructor Builder public class OrderDetail {private Integer orderDetailId;private Integer orderId;private String orderNums;private String orderAddress; }造测试数据 public static ListOrder getOrderTestList() {ListOrder orders new ArrayList();for (int i 1; i 50000; i) {Order order new Order();order.setOrderName(UUID.randomUUID().toString());order.setOrderId(i);orders.add(order);}return orders;}public static ListOrderDetail getOrderDetailTestList() {ListOrderDetail orderDetails new ArrayList();for (int i 30000; i 1; i--) {OrderDetail orderDetail new OrderDetail();orderDetail.setOrderAddress(UUID.randomUUID().toString());orderDetail.setOrderId(i);orderDetail.setOrderDetailId(i);orderDetails.add(orderDetail);}return orderDetails;}2、原始双重for循环 Testvoid test3() {ListOrder orderTestList getOrderTestList();ListOrderDetail orderDetailTestList getOrderDetailTestList();StopWatch stopWatch new StopWatch();stopWatch.start();// 直接使用双重for循环查询条件for (Order order : orderTestList) {int orderId order.getOrderId();for (OrderDetail orderDetail : orderDetailTestList) {if(orderId orderDetail.getOrderId() ){System.out.println(模拟数据orderAddress 业务处理...... orderDetail.getOrderAddress());}}}stopWatch.stop();System.out.println(最终耗时 stopWatch.getTotalTimeMillis());}执行结果 3、直接使用双重for循环查询条件增加break条件 Testvoid test3() {ListOrder orderTestList getOrderTestList();ListOrderDetail orderDetailTestList getOrderDetailTestList();StopWatch stopWatch new StopWatch();stopWatch.start();// 直接使用双重for循环查询条件增加break条件for (Order order : orderTestList) {int orderId order.getOrderId();for (OrderDetail orderDetail : orderDetailTestList) {if(orderId orderDetail.getOrderId() ){System.out.println(模拟数据orderAddress 业务处理...... orderDetail.getOrderAddress());break;}}}stopWatch.stop();System.out.println(最终耗时 stopWatch.getTotalTimeMillis());}执行结果 4、使用迭代器来删除内层循环中已使用或判断过的元素减少循环次数 Testvoid test3() {ListOrder orderTestList getOrderTestList();ListOrderDetail orderDetailTestList getOrderDetailTestList();StopWatch stopWatch new StopWatch();stopWatch.start();// 使用迭代器来删除内层循环中已使用或判断过的元素减少循环次数for (Order order : orderTestList) {ListIteratorOrderDetail orderDetailListIterator orderDetailTestList.listIterator();int orderId order.getOrderId();while (orderDetailListIterator.hasNext()) {OrderDetail nextOrderDetail orderDetailListIterator.next();if(orderId nextOrderDetail.getOrderId() ){System.out.println(模拟数据orderAddress 业务处理...... nextOrderDetail.getOrderAddress());orderDetailListIterator.remove();}}}stopWatch.stop();System.out.println(最终耗时 stopWatch.getTotalTimeMillis());}执行结果 5、把要筛选的信息写成map集合遍历List时用map.get(key)来实现检索 Testvoid test3() {ListOrder orderTestList getOrderTestList();ListOrderDetail orderDetailTestList getOrderDetailTestList();StopWatch stopWatch new StopWatch();stopWatch.start();//使用stream() 记得一定要判空MapInteger, String orderAddressMap orderDetailTestList.stream().collect(Collectors.toMap(OrderDetail::getOrderId, OrderDetail::getOrderAddress));for (Order order : orderTestList) {int orderId order.getOrderId();String orderAddress orderAddressMap.get(orderId);if (StringUtils.hasLength(orderAddress)) {System.out.println(模拟数据orderAddress 业务处理...... orderAddress);}}if (StringUtils.hasLength(orderAddress)) {System.out.println(模拟数据orderAddress 业务处理...... orderAddress);}stopWatch.stop();System.out.println(最终耗时 stopWatch.getTotalTimeMillis());}测试结果 6、总结 可以看出通过迭代删除或者利用map集合特性均能够有效提升查询效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设需要的准备seo有哪些作用

PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值 语法: PathVariable("xxx") 通过 PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中PathVariable(“xxx“) RequestMapping(value”user/{id}/{name}”) 请…

网站建设 服饰鞋帽wordpress 表单管理

目录 一、mybatis核心对象 (1)SqlSession对象直接操作数据库 (2)SqlSession对象通过代理对象操作数据库 二、mybatis工作流程 一、mybatis核心对象 (1)SqlSessionFactoryBuilder SqlSession工厂构建者对…

网站运营目的化工企业网站模板

链接:https://www.nowcoder.com/acm/contest/157/E来源:牛客网 有一只可爱的老青蛙,在路的另一端发现了一个黑的东西,想过去一探究竟。于是便开始踏上了旅途 一直这个小路上有很多的隧道,从隧道的a进入,会从…

深圳福田建网站个人网站做导购可以吗

Linux高性能服务器编程 本文是读书笔记,如有侵权,请联系删除。 参考 Linux高性能服务器编程源码: https://github.com/raichen/LinuxServerCodes 豆瓣: Linux高性能服务器编程 文章目录 Linux高性能服务器编程第14章 多线程编程14.1 Linux线程概述14…

做标书有什么好的网站吗自学学网页设计

过犹不及——《论语先进》 大学考试时,有些老师允许带备cheet sheet(忘纸条),上面记着关键公式和定义,帮助我们快速作答提高分数。传统的检索增强生成(RAG)方法也类似,试图找出精准的知识片段来辅助大语言模型(LLM)。 但这种方法其实有问题…

做网站的多少钱seo排名优化

lsof(List Open Files) 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP),找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要…

三星网站建设内容做手机网站用什么程序好

在机器人的控制中&#xff0c;坐标系统是非常重要的&#xff0c;在ROS使用tf软件库进行坐标转换。 相关链接&#xff1a;http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一、tf简介 我们通过一个小小的实例来介绍tf的作用。 1、安装turtle包 <span>$ rosdep instal…

漳州建设银行网站seo人才招聘

文章目录 什么是AIGC技术&#xff1f;为何AIGC技术如此火热&#xff1f;1. 提高效率与创造力的完美结合2. 拓展应用领域&#xff0c;创造商业价值3. 推动技术创新和发展 AIGC技术案例解析1. 艺术创作&#xff1a;生成独特的艺术作品2. 内容创作&#xff1a;实时生成各类内容3. …

网站建设 500强建站网站建设费属于业务宣传费吗

团队绩效考核 基于各种客观问题本次绩效考核采用和第一次冲刺不一样的标准&#xff0c;根据团队贡献事实打分如下 组员打分&#xff1a; 郭良 &#xff08;9.0&#xff09; 赵承龙 &#xff08;5.5&#xff09; &#xff08;根据组内之前定下的打分细则和本期冲刺过程的事实…

电商食品网站建设江都建设网站

图2-12所示是电源滤波电路中的高频滤波电路。电路中&#xff0c;一个容量很大的电解电容C1(2200F)与一个容量很小的电容C2(0.01F)并联&#xff0c;C2是高频滤波电容&#xff0c;用来进行高频成分的滤波&#xff0c;这种一大一小两个电容相并联的电路在电源电路中十分常见。1.高…

婚庆网站设计自己做网站可以用私有云吗

一、字符设备驱动结构 1. cdev结构体 在Linux内核中&#xff0c;使用cdev结构体来描述一个字符设备 struct cdev {struct kobject kobj; //内嵌kobject对象struct module *owner; //所属的模块const struct file_operations *ops; //该设备的文件操作结构体struct list_head…

交互式网站是什么意思淘宝网站建设评价表

1&#xff09;Open-Resume 介绍 GitHub&#xff1a; https://github.com/xitanggg/open-resume Open-Resume 是一款功能强大的开源 简历生成器 和 简历解析器 。可以帮助我们快速的生成个人简历&#xff0c;并定制化不同的主题和布局风格。该项目的目标是为每个人提供免费的现…

建设银行在上海的招聘网站海洋网络

在Flowable 6.8.0中&#xff0c;以下是每个表的作用并列出每张表的所有字段及其含义&#xff1a; act_evt_log (用于记录流程引擎事件的日志) log_nr&#xff1a;日志编号type&#xff1a;事件类型proc_def_id&#xff1a;流程定义IDproc_inst_id&#xff1a;流程实例IDexecuti…

百度推广做网站吗网络运营商怎么联系

摘要: 拉马努金Q函数在算法分析中的应用&#xff0c;初步体验 【对算法&#xff0c;数学&#xff0c;计算机感兴趣的同学&#xff0c;欢迎关注我哈&#xff0c;阅读更多原创文章】 我的网站&#xff1a;潮汐朝夕的生活实验室 我的公众号&#xff1a;算法题刷刷 我的知乎&#x…

成都网站建设常见问题合肥昱天建设有限公司网站

BulkLoader提供简单的载入函数&#xff0c;不管要载入的是xml、swf还是声音文件&#xff0c;都只使用同一接口。功能强大&#xff0c;十分推荐。 用法&#xff0c;载入xml文件&#xff1a; var bulkLoader:BulkLoader new BulkLoader(main loading);bulkLoader.add(my_xml_fil…

济南建设网站的公司哪家好简单的网站怎样做

Linux是一个强大的操作系统&#xff0c;拥有许多内建的命令。以下是常见的Linux命令及其简单的解释和用法&#xff1a; ls&#xff1a;列出目录内容。 来源&#xff1a;list。用法&#xff1a;ls、ls -l、ls -a cd&#xff1a;改变当前目录。 来源&#xff1a;change director…

小公司怎样自己建网站投资网

中颖51芯片学习5. 类EEPROM操作 一、SH79F9476 Flash存储空间1. 特性2. 分区3. OP_EEPROMSIZE选项设置3. 编程接口4. 代码保护控制模式简介&#xff08;1&#xff09;**代码保护模式0&#xff1a;**&#xff08;2&#xff09;**代码保护模式1&#xff1a;**&#xff08;3&#…

深圳做网站de公司免费网站模版

工作经常使用的SQL整理&#xff0c;实战篇&#xff08;一&#xff09; 原文:工作经常使用的SQL整理&#xff0c;实战篇&#xff08;一&#xff09;工作经常使用的SQL整理&#xff0c;实战篇&#xff0c;地址一览&#xff1a; 工作经常使用的SQL整理&#xff0c;实战篇&#xff…

电子工程网站大全网站开发建设培训

HTML&#xff08;Hypertext Markup Language&#xff09;是一种标记语言&#xff0c;用于描述网页的结构和内容。以下是对网页结构的理解以及网络爬虫在处理不同类型网页时可能遇到的情况&#xff1a; 1. HTML基本结构 HTML文档的基本结构通常包括以下几个部分&#xff1a; …

网站建设基本标准门户网站建设管理

1、Type C 概述 Type-C口有4对TX/RX分线&#xff0c;2对USBD/D-&#xff0c;一对SBU&#xff0c;2个CC&#xff0c;另外还有4个VBUS和4个地线。 当Type-C接口仅用作传输DP信号时&#xff0c;则可利用4对TX/RX&#xff0c;从而实现4Lane传输&#xff0c;这种模式称为DPonly模式…