Rumah > Java > javaTutorial > Perbandingan kebaikan dan keburukan iterator dan untuk gelung di Jawa

Perbandingan kebaikan dan keburukan iterator dan untuk gelung di Jawa

WBOY
Lepaskan: 2023-04-22 14:28:09
ke hadapan
2007 orang telah melayarinya

1. Pemahaman konsep

untuk gelung: Ia ialah struktur umum yang menyokong lelaran dan merupakan struktur gelung yang paling berkesan dan fleksibel

Iterator: Ia diperoleh melalui kaedah iterator() koleksi, jadi kami katakan bahawa ia bergantung pada koleksi

Foreach: Dengan membaca sumber. kod Kami juga menjumpai antara muka Boleh Diterbalikkan. Ia mengandungi kaedah iterator() yang menjana objek Iterator, dan objek Iterator digunakan oleh foreach untuk bergerak dalam jujukan. Boleh digunakan untuk mana-mana objek yang melaksanakan antara muka Boleh Diulang.

2. Contoh Kecekapan

Perbandingan kecekapan dalam ArrayList:

        List<Integer> integers = Lists.newArrayList();
        for(int i=0;i<100000;i++){
            integers.add(i);
        }
 
        long start1 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++){
            for(int i=0;i<integers.size();i++){
                int j=integers.get(i);
            }
        }
        System.out.println(String.format("for循环100次时间:%s ms",System.currentTimeMillis()-start1));
 
        long start2 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++) {
            for (Integer i : integers) {
               int j = i;
            }
        }
        System.out.println(String.format("foreach循环100次时间:%s ms",System.currentTimeMillis()-start2));
 
        long start3 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++) {
            Iterator<Integer> iterator = integers.iterator();
            while(iterator.hasNext()){
                int j=iterator.next();
            }
        }
        System.out.println(String.format("迭代器循环100次时间:%s ms",System.currentTimeMillis()-start3));
Salin selepas log masuk

Hasil:

for循环100次时间:15 ms
foreach循环100次时间:25 ms
迭代器循环100次时间:20 ms
Salin selepas log masuk

Di bawah ArrayList The kecekapan ketiga-tiganya adalah hampir sama, dan gelung for adalah yang terbaik, kerana ArrayList dilaksanakan melalui tatasusunan, dan kerumitan masa untuk meletakkan tatasusunan melalui indeks ialah O(1), dan ia boleh ditempatkan dalam satu masa. , jadi kecekapan adalah sangat tinggi.

Ringkasan: for loop memudahkan akses kepada rekod yang disimpan secara berurutan, manakala foreach dan iterator memudahkan akses kepada storan terpaut.

Atas ialah kandungan terperinci Perbandingan kebaikan dan keburukan iterator dan untuk gelung di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan