测试结论:在C#中迭代ArrayList,可以非常清楚的看出forloop的效率要高于foreach 疑问:在《SharePoint Services 3.0开发指南 》中提出了一个不同的观点:通常情况下forloop循环效率上比foreach要高。但这种情况也不是绝对的,起码在WSS中迭代对象是不是这样。迭代集合时,要访问每个项,如果些时站点比较多而且数据库交互同...
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<...
for loop for ArrayList: 63402 nsforeach loop for ArrayList: 61028 nsfor loop for LinkedList: 5961079 nsforeach loop for LinkedList: 6010747 ns 从上面的结果可以看出,在遍历ArrayList时,foreach循环的效率比for循环略高,但差别不大;而在遍历LinkedList时,for循环的效率比foreach循环高出一个数量级。这...
这次发现,loopOfForeach效率低于loopOfIterator。 总结:从实验结果来看,在遍历ArrayList中,效率最高的是loopOfFor,loopOfForeach和loopOfIterator之间关系不明确,但在增大运行次数时,loopOfIterator效率高于loopOfForeach。 三、效率分析 1、为什么基本的for循环效率高于Iterator遍历? ArrayList实现了RandomAccess接口,Random...
for (int value : arrayList) { } long end2 = System.nanoTime(); System.out.println("foreach loop for ArrayList: " + (end2 - start2) + " ns"); // 使用for循环遍历LinkedList long start3 = System.nanoTime(); for (int i = 0; i < linkedList.size(); i++) { ...
现在让我们使用for循环方法和for-each方法进行测试。 代码语言:java AI代码解释 publicclassForLoopTest{publicstaticvoidmain(String[]args){List<Integer>arrayList=newArrayList<>();for(inti=0;i<10000000;i++){arrayList.add(i);}longarrayListStartTime=System.currentTimeMillis();for(inti=0;i<arrayList.size...
我们知道ArrayList的底层数据结构是数组,LinkedList是链表。这三种遍历方式从List中获取元素的算法分别为:1) foreach循环和iterator迭代器:都是调用iterator.next(),查看ArrayList对于iterator中next方法的实现可知其最终是通过数组下标获取元素。如下图:ArrayList迭代之next 查看LinkedList对于iterator中next方法的实现可知其...
{ arrayList.get(i); }long arrayListCost =System.currentTimeMillis()-arrayListStartTime; System.out.println("ArrayList for loop traversal cost: "+ arrayListCost);long arrayListForeachStartTime = System.currentTimeMillis();for (Integer integer : arrayList) { }long arrayListForeachCost ...
它會將符合的檔案加入 ArrayList,並將 ArrayList 儲存到變數,以供稍後用於 Foreach 迴圈容器。 Foreach Loop 容器是設定為從 Variable 列舉值使用 Foreach。注意 從Variable 列舉值與 Foreach 搭配使用的變數必須是 Object 類型。 您放置在變數中的物件必須實作下...
⾸先,来看看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);} 这种⽅式,代码风格还好,可惜的是,有个隐藏的性能问题。对于List接⼝的众多...