iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java for循环常见优化方法案例详解
  • 496
分享到

Java for循环常见优化方法案例详解

2024-04-02 19:04:59 496人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录方法一:最常规的不加思考的写法方法二:数组长度提取出来方法三:数组长度提取出来方法四:采用倒序的写法方法五:Iterator 遍历方法六:jdk1.5后的写法方法七:循环嵌套外小

前言

我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。

首先,我们初始化一个集合 list,如下:


List<String> list = new ArrayList<String>();

方法一:最常规的不加思考的写法


for (int i = 0; i < list.size(); i++) {
 System.out.println(list.get(i));
}
  • 优点:较常见,易于理解
  • 缺点:每次都要计算list.size()

方法二:数组长度提取出来


int m = list.size();
for (int i = 0; i < m; i++) {
      System.out.println(list.get(i));
}
  • 优点:不必每次都计算
  • 缺点:
  • 1.m的作用域不够小,违反了最小作用域原则
    2.不能在for循环中操作list的大小,比如除去或新加一个元素

方法三:数组长度提取出来


for (int i = 0, n = list.size(); i < n; i++) {
    System.out.println(list.get(i));
}
  • 优点:不必每次都计算 ,变量的作用域遵循最小范围原则
  • 缺点:
  • 1.m的作用域不够小,违反了最小作用域原则
    2.不能在for循环中操作list的大小,比如除去或新加一个元素

方法四:采用倒序的写法


for (int i = list.size() - 1; i >= 0; i--) {
System.out.println(list.get(i));
}
  • 优点:不必每次都计算 ,变量的作用域遵循最小范围原则
  • 缺点:1、结果的顺序会反 2、看起来不习惯,不易读懂
  • 适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验

方法五:Iterator 遍历


for (Iterator<String> it = list.iterator(); it.hasNext();) {
      System.out.println(it.next());
}
  • 优点:简洁

方法六:jdk1.5后的写法


for (Object o : list) {
     System.out.println(o);
}
  • 优点:简洁结合泛型使用更简洁
  • 缺点:jdk1.4向下不兼容

方法七:循环嵌套外小内大原则


for (int i = 0; i < 10; i++) {
   for (int j = 0; j < 10000; j++) {
   }
}

原因

图片

方法八:循环嵌套提取不需要循环的逻辑


 //前:
 int a = 10, b = 11;
  for (int i = 0; i < 10; i++) {
               i = i * a * b;
   } 
 
 
//后:
 int c = a * b;
 for (int i = 0; i < 10; i++) {
         i = i * c;
  }

方法九:异常处理写在循环外面

反例


for (int i = 0; i < 10; i++) {
     try {
 
     } catch (Exception e) {
 
     }
}

正例


try {
   for (int i = 0; i < 10; i++) {
   }
} catch (Exception e) {
 
}
 catch (Exception e) {
 
     }
}

正例


try {
   for (int i = 0; i < 10; i++) {
   }
} catch (Exception e) {
 
}

到此这篇关于Java for循环常见优化方法案例详解的文章就介绍到这了,更多相关Java for循环常见优化方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java for循环常见优化方法案例详解

本文链接: https://www.lsjlt.com/news/134078.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java for循环常见优化方法案例详解
    目录方法一:最常规的不加思考的写法方法二:数组长度提取出来方法三:数组长度提取出来方法四:采用倒序的写法方法五:Iterator 遍历方法六:jdk1.5后的写法方法七:循环嵌套外小...
    99+
    2022-11-12
  • Java中List常用操作比for循环更优雅的写法示例
    目录引言简单遍历筛选符合某属性条件的List集合获取某属性返回新的List集合获取以某属性为key,其他属性或者对应对象为value的Map集合以某个属性进行分组的Map集合其他情况...
    99+
    2022-11-12
  • Java 处理高并发负载类优化方法案例详解
    java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用...
    99+
    2022-11-12
  • Java之map的常见用法讲解与五种循环遍历实例代码理解
    目录一、概述:二、Map集合的功能介绍三、map官方总结四、实例五、循环遍历的五种方法一、概述: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 Map接口...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作