`

实例038 - foreach 循环优于for循环

 
阅读更多

心法领悟038:使用foreach遍历数据。

在JDK1.5之前使用for循环对集合、数值和迭代器进行遍历,需要创建索引变量、条件表达式,这样会造成代码混乱,并增加出错几率看,并且每次循环中索引变量或迭代器都会出现3次,有两次出错的机会。而且会有一些性能损失,其性能稍微落后于foreach循环。所以对于数据集合的遍历,建议使用foreach循环。

import java.util.ArrayList;
import java.util.List;
public class UseForeach {
    public static void main(String[] args) {
        List<String> list=new ArrayList<String>();// 创建list集合
        list.add("abc");// 初始化list集合
        list.add("def");
        list.add("hij");
        list.add("klm");
        list.add("nop");
        list.add("qrs");
        System.out.print("foreach遍历集合:\n\t");
        for (String string : list) {// 遍历list集合
            System.out.print(string);// 输出集合的元素值
        }
        System.out.println();
        String[] strs=new String[list.size()];
        list.toArray(strs);// 创建数组
        System.out.print("foreach遍历数组:\n\t");
        for (String string : strs) {// 遍历数组
            System.out.print(string);// 输出数组元素值
        }
    }
}

 

foreach遍历集合:
	abcdefhijklmnopqrs
foreach遍历数组:
	abcdefhijklmnopqrs

 

分享到:
评论

相关推荐

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例038 foreach循环优于for循环 47 实例039 终止循环体 48 实例040 循环体的过滤器 49 实例041 循环的极限 50 第3章 数组与集合的应用 51 3.1 数组演练 52 实例042 获取一维数组最小值 52 实例043 将二维数组中的...

    C# 修改list所有对象中的某字段

    例如,如果在循环中需要中断或返回,使用传统的foreach循环可能更合适,因为ForEach不支持break或return。 ```csharp foreach (var p in people) { if (p.Age &gt; 50) { p.Age += 1; // 如果使用ForEach,这里...

    改善C#程序的50种方法.doc

    - foreach循环简化了迭代操作,编译器会自动处理索引和类型转换,降低了出错概率。 以上这些技巧和最佳实践可以帮助C#开发者编写更高效、更易维护的代码。然而,实际应用中应根据具体项目需求和性能要求来权衡选择...

    实例14列表(java新手绝对实例)

    可以使用增强for循环(foreach)或迭代器来遍历列表。例如,`for (String s : myList) { System.out.println(s); }` 或者 `Iterator&lt;String&gt; iter = myList.iterator(); while(iter.hasNext()) { System.out....

    JavaScript性能陷阱小结(附实例说明)

    如果需要遍历数组,使用`for`循环或`Array.prototype.forEach()`等方法更好。 6. **使用字符串连接优化**: 避免连续的字符串相加,可以使用数组的`join()`方法来拼接字符串,这样更高效。 7. **原生操作优于函数...

    JS常用的几种数组遍历方式以及性能分析对比实例详解

    4. **forEach循环**: ```javascript arr.forEach(function(e) {}); ``` 数组内置的遍历方法,简洁易读,但性能较差,尤其在循环次数多时。 5. **forEach变种**: ```javascript Array.prototype.forEach....

    Android性能优化

    - 使用增强型for循环语法(foreach):可以简化代码,且避免了对迭代器的显式管理,减少内存占用。 - 多使用系统封装好的API:系统API通常经过优化,使用它们可以提高效率,避免重复造轮子。 - 避免在内部类中...

    循环 vs 递归浅谈

    在JavaScript中,常见的循环类型有for循环、while循环以及forEach等迭代器方法。例如,文章中展示了遍历一维数组的例子,使用for循环可以简洁高效地完成任务。这种情况下,循环是首选,因为它的控制权更直观,且性能...

    50点提高PHP编程效率

    使用`foreach`循环替代`for`循环,特别是处理数组时,可以提高效率。 - **资源管理**:及时释放不再使用的变量,尤其是大型数组,以节省内存资源。 ### 4. 性能密集型操作的避免 - **避免使用`__get`、`__set`和`...

    Java 代码优化常见注意点

    - 使用增强型for循环(foreach)简化代码,如`for (Object obj : collection) {...}`。 7. **减少空对象检查** - 使用`Objects.requireNonNull()`检查对象是否为空,避免显式的`if (obj != null)`检查。 8. **...

    Java中List集合的遍历实例详解

    Java 5引入了增强型for循环,也称为foreach循环,使得遍历集合更加简洁。对于List集合,其使用方式如下: ```java for (String data : list) { // 处理data } ``` 这种方式内部实际上是调用了迭代器实现,...

    C#、.Net经典面试题目及答案

    - 使用`foreach`循环遍历数组,并使用`ArrayList.Add()`方法将元素逐个添加。 以上是C#和.NET面试中的一些核心知识点,涵盖了类型系统、并发、异常处理、集合与数据结构等多个方面。掌握这些概念和实践技巧对于...

    java超有用的面试题目

    - **while**:`while` 循环则直接通过条件判断来控制循环,没有经过额外的封装。两者的主要区别在于代码的清晰度和维护性上。 #### 线程池种类、区别与使用场景 - **种类**: - `newFixedThreadPool`: 固定大小的...

    Java框架面试题总结

    - **性能优化**:Struts2在性能方面进行了优化,尤其是在高并发场景下的表现优于Struts1。 **12. Struts的常用标签库及用法** - **Struts HTML标签库**:提供了一系列用于表单生成的标签,例如`&lt;html:form&gt;`、`...

    细说PHP第二版高洛峰.7z

    - 循环结构:`for`、`while`、`do...while`、`foreach`,用于重复执行某段代码。 - 数组:PHP支持索引数组和关联数组,`array()` 用于创建数组。 2. PHP函数: - 自定义函数:`function` 关键字定义函数,`...

    .net面试题

    - 可以通过foreach循环遍历数组并将元素添加到ArrayList,或者使用Array.CopyTo方法。 16. **new关键字的用法**: - 实例化对象:`new ClassName()` - 隐藏基类成员:`public new void Method()` - 泛型约束:...

    经典总结php效率高写法!

    - **使用 `foreach` 而非 `for`**:当遍历数组时,`foreach` 结构通常比 `for` 更高效且代码更清晰。 #### 4. 对象属性访问与自动加载 - **对象属性访问**:通过 `__get` 和 `__set` 方法动态访问和设置对象属性,...

Global site tag (gtag.js) - Google Analytics