Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 13604|Yanıt: 0

[JavaSE] Java'da List koleksiyonunun geçişi ve iki uygulama sınıfının karşılaştırmalı analizi

[Bağlantıyı kopyala]
Yayınlandı 4.01.2015 13:29:38 | | |
[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




Önceki:jstl etiketinin &lt;c:if&gt;
Önümüzdeki:java:list和set集合的遍历
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com