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

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

[İletişim] java:list和set集合的遍历

[Bağlantıyı kopyala]
Yayınlandı 4.01.2015 13:30:48 | | |

Bir Listeyi gezmenin üç yolu vardır   
   
   List<A> list = yeni ArrayList<A>();   
   list.add(yeni A());   
   list.add(yeni A());   
   ...   
   
  İlk tür:   
   for(Iterator<A> it = list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   Bu yol bir döngü içinde
Aynı zamanda, zevk sürecinde bir öğeyi kaldırmak istiyorsanız, sadece it.remove yöntemini çağırabilirsiniz, list.remove yöntemini kullanamazsınız, aksi takdirde eşzamanlı erişimde bir hata olur.   
Ama uyumluluk en iyisi, Koleksiyon koleksiyonu için uygundur
   
   İkinci tür:   
   for(A a : liste) {   
       .....   
   }   
  Her yöntem için yine de bir yineleme vardır, ilkisi dahili olarak çağrılır ve çorba değişmez, ayrıca bu döngüsel yöntemin başka sınırlamaları da vardır, bu yüzden kullanılması tavsiye edilmez   
  Sadece JK1.5'in üzerinde düşük uyumlulukla kullanılabilir. Set en iyisi bunu kullanmak

   Üçüncü tür:   
   for(int i=0;    i<list.size();    i++) {   
       A a = list.get(i);   
       ...   
   }   
  for loop, bir List koleksiyonunun içeriğini gezmek sadece List için çalışır, çünkü List sıralı bir koleksiyondur
, iç kilitli değil, en yüksek verimlilik, ancak çoklu iş parçacığı yazarken eşzamanlı işlemler sorunu göz önünde bulundurulmalı!

Bir Set koleksiyonunu gezmek List ile aynı şekildedir, ancak for döngüsünü kullanarak Set koleksiyonunda get() yöntemi yoktur.
  Ama geliştirmelerle döngüye bağlanabilir
  Set koleksiyonunda Gez
  Küme<String> = yeni HashSet<String>();
  set.add("qqq");
  set.add("www");
  set.add("eee");
  set.add ("rrr");
  
  for(String s : set){
   System.out.println("set="+s);
  }






Önceki:Java'da List koleksiyonunun geçişi ve iki uygulama sınıfının karşılaştırmalı analizi
Önümüzdeki:O bir büyük kardeş, o bir loli kız, neden ona bir bardak verdi?
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