[mw_shl_code=java,true]package com.sort;
java.util.ArrayList içe aktar; java.util.Iterator içe aktarmak; java.util.List içeri;
/** * Listede üç tür geçiş * @author Sahibi
* */ public class ListTest {
public static void main(String[] args) {
List<String> list = yeni ArrayList<String>();
list.add("a"); list.add("b"); list.add("c"); list.add("c"); Tekrarlanan veriler eklenebilir
Geçiş yöntemi 1 for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){ Dizi değeri = iterator.next();
System.out.println(değer); }
Geçiş yöntemi 2 for(String value : list){ System.out.println(değer); }
Geçiş yöntemi 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Üç geçişin karşılaştırmalı analizi:
Yöntem 1 geçişi: Yürütme sırasında veri kilitleme işlemi yapılır, performans biraz daha kötü olur ve döngü sırasında bir öğeyi kaldırmak isterseniz sadece it.remove yöntemini çağırabilirsiniz.
Yöntem 2 Geçiş: İlk tipi dahili olarak çağırın
Yöntem 3: Geçiş: İçten kilitli değildir, bu en verimli olanıdır, ancak çoklu iş parçacıklığı yazarken eşzamanlı işlemler sorunu dikkate alınmalıdır
List arayüzünün iki ana uygulaması olan ArrayList ve LinkedList bu şekilde geçilebilir ArrayList ile LinkedList'in karşılaştırmalı analizi a) ArrayList'in altta yatan katmanı dizilerle, LinkedList'in alt katmanı ise çift yönlü bağlantılı listelerle uygulanır. b) Ekleme veya silme işlemleri yapılırken LinkedList kullanmak daha iyidir. c) Arama işlemi yapılırken ArrayList kullanmak daha iyidir.
Açıkça söylemek gerekirse, veri yapısında ardışık depolama ve zincir depolama
|