|
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); }
|