java中的Iterator與增強for循環的效率比較


  最近在優化代碼時遇到了這個問題:Iterator與增強for循環到底哪個效率高?之前在學習的時候,好像記着老師說過遍歷集合(如list)時,使用iterator好像正規一些,因為是專用的,但是運行效率問題確實不曾考慮,今天做了一個實驗:對兩者進行了簡單的比較,得出的結論是增強for循環運行效率更高一些。但是我不確定這是否會代表全部情況,這里僅僅記錄一下,做個參考,后期有新的認識再來補充,歡迎大家批評指正。

 1   public static void main(String[] args) {
 2         test();
 3     }
 4     
 5     public static void test() {
 6         
 7         List<Integer> list = new ArrayList<Integer>();
 8         int flag = 100000;
 9         int i=0;
10         while(i<flag) {
11             list.add(i);
12             i++;
13         }
14         
15         // iterator測試
16         long start = System.currentTimeMillis();
17             Iterator<Integer> iterator = list.iterator();
18             while(iterator.hasNext()) {
19                 System.out.print(iterator.next());
20             }
21         long end = System.currentTimeMillis();
22         System.out.println("iterator本次執行耗費了"+(end-start)+"毫秒");
23         
24         // 增強for循環測試
25         long start2 = System.currentTimeMillis();
26             for(Integer inte : list) {
27                 System.out.print(inte);
28             }
29         long end2 = System.currentTimeMillis();
30         System.out.println("for本次執行耗費了"+(end2-start2)+"毫秒");
31     }

  運行結果為:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM