for loop for ArrayList: 63402 nsforeach loop for ArrayList: 61028 nsfor loop for LinkedList: 5961079 nsforeach loop for LinkedList: 6010747 ns 从上面的结果可以看出,在遍历ArrayList时,foreach循环的效率比for循环略高,但差别不大;而在
测试结论:在C#中迭代ArrayList,可以非常清楚的看出forloop的效率要高于foreach 疑问:在《SharePoint Services 3.0开发指南 》中提出了一个不同的观点:通常情况下forloop循环效率上比foreach要高。但这种情况也不是绝对的,起码在WSS中迭代对象是不是这样。迭代集合时,要访问每个项,如果些时站点比较多而且数据库交互同...
for (int i = 0; i < arrayList.size(); i++) { int value = arrayList.get(i); } long end1 = System.nanoTime(); System.out.println("for loop for ArrayList: " + (end1 - start1) + " ns"); // 使用foreach循环遍历ArrayList long start2 = System.nanoTime(); for (int value :...
ArrayList<Integer> list =prepareData(loopSize);longstart=System.currentTimeMillis();for(Integer s:list){ s.toString(); }longend=System.currentTimeMillis(); System.out.println("forLoop Time="+(end-start)); } 运行结果:forLoop Time=367 3. for iterator Loop privatevoiditeratorLoop(){ List<...
ForLoopArrayListUserForLoopArrayListUserRepeat until condition is falseInitialize i=0Check condition i < size()TrueGet element at iReturn elementPrint element 不同的集合执行for循环所需的资源和执行时间是不同的。以下是一个简单的 C4 架构图,说明了for循环如何在程序中与不同组件交互。
("for loop cost for ArrayList:"+costFor);// forEach 耗时计算long forEachStartTime=System.currentTimeMillis();for(Integer integer:list){}long forEachCost=System.currentTimeMillis()-forEachStartTime;System.out.println("foreach cost for ArrayList:"+forEachCost);}publicstaticList<Integer>getList(...
使用ArrayList时,for循环方法更快,因为for-each由迭代器实现,并且需要执行并发修改验证。 使用LinkedList时,for-each比for循环快得多,因为LinkedList是通过使用双向链表实现的。每个寻址都需要从头节点开始。如果我们需要遍历LinkedList,我们需要避免使用for循环。
System.out.println("sum = " + sum);// no side-effect, sum iscalculated by loop sum = list .stream().mapToInt(i -> i).sum();System.out.println("sum = " + sum);另一个常见的例子:// bad side-effect, the loop alters list2 List<Integer> list2 = new ArrayList<>();for(int ...
// bad side-effect, the loop alters list2 List<Integer> list2 = new ArrayList<>(); for(int i : list) { list2.add(i); } list2.forEach(i -> System.out.println("int = " + i));// no sideeffect, the second list is built by the loop list2 = list .stream() .collec...
Classic for loop ⾸先,来看看classic for loop.List<String> birds = new ArrayList<String>() { { add("magpie");add("crow");add("emu");} };for (int i = 0; i < birds.size(); i++) { String bird = birds.get(i);} 这种⽅式,代码风格还好,可惜的是,有个隐藏的性能问题。对...