首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

C# foreach循环较for循环的优势劣势

一、foreach循环的优势 C#支持foreach关键字,foreach在处理集合和数组相对于for存在以下几个优势: 1、foreach语句简洁 2、效率比for要高(C#是强类型检查,for循环对于数组访问的时候..." to loop two-dimension array(使用foreach循环二维数组) Console.WriteLine("User 'foreach' to loop two-dimension...foreach只用一行代码就将所有元素循环了出来,而for循环则就需要很多行代码才可以....注:foreach处理锯齿数组需进行两次foreach循环 int[][] nVisited = new int[3][]; nVisited[0] = new int[3] { 1, 2, 3 };...循环的劣势 1、上面说了foreach循环的时候会释放使用完的资源,所以会造成额外的gc开销,所以使用的时候,请酌情考虑 2、foreach也称为只读循环,所以再循环数组/集合的时候,无法对数组/集合进行修改

2.6K80

iterator 遍历for循环foreach的优劣对比

list.iterator();     while (it.hasNext()) {         objects = (Object[]) iter.next();     } 瞬间感觉比起自己的for循环语句高端大气了不少...,但此刻又有疑问,到底这两种那种比较好 先拿出for循环来对比 for(int i=0;i <list.size();i++){  objects = (Object[])list.get(i);...  }  经过查询,查到了很多,现在来分享一下 一方面从简洁程度和可复用的角度,迭代器的方法必然比较轻松 ,比如当前list的组织结构变化,不能用get()函数获取,则需要重新更改for循环代码,...实现原理可以参见下文http://blog.csdn.net/a596620989/article/details/6930479 我们可以看到foreach其实就是迭代器,而且多加了一个一个检查 但foreach...提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。

19840

lamda中stream的forEachfor循环对比

String[] strings = new String[n]; Long streamStart = System.currentTimeMillis(); Arrays.stream(strings).forEach...数组长度 for循环(ms) stream的forEach(ms) 100 1 31 1000 6 52 5000 22 62 10000 33 89 20000 75 168 50000 249 276...50000大小的时候for循环就开始慢慢运行时间大于forEach,在50000数据之前都是for循环优势。...但是当我直接加到1000000大小时发现for循环的速度优势又回来了,又测试了500000发现依然是for循环优势。 所以大概率下,几万几万数据时forEach速度是领先的。...小数据和极大数据下for循环领先,所以推荐使用for循环,一般业务中很少有几万数据去循环。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

1.2K20

Java中的增强 for 循环 foreach

foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。...foreach 是用来对数组或者集合进行遍历的语法。...具体语法如下: for(元素类型 ele : 数组名/Iterable 实例){ }   下面我们用 foreach 来对数组和一个集合进行遍历:      int [] array = {1,2,3...next(); { System.out.println(s); } }   很明显: 1、对于数组,foreach...循环实际上还是用的普通的 for 循环      2、对于集合,foreach 循环实际上是用的 iterator 迭代器迭代 注意:如果我们想一边迭代,一边删除集合中的元素,如下:     List

2.9K90
领券