SORU
8 Mayıs 2009, Cuma


Neden Java'In Yineleyici bir İterable değil mi?

Neden Iterator arayüz Iterable kapsamıyor?

iterator() yöntemi sadece this dönebilir.

Bilerek mi yoksa sadece Java tasarımcıları, bir yanlışlık mı oldu?

-Her böyle yineleyicisi ile döngü: bir kullanabilmek için uygun olacaktır

for(Object o : someContainer.listSomeObjects()) {
    ....
}

listSomeObjects() bir yineleyici döndürür.

CEVAP
8 Mayıs 2009, Cuma


Bir yineleyici durum. Fikri Iterable.iterator() ararsan iki kere alacaksınbağımsızkullanımına en iterables için, her neyse. Bu açıkça senaryoda böyle olmazdı.

Örneğin, genellikle yazabilirim:

public void iterateOver(Iterable<String> strings)
{
    for (String x : strings)
    {
         System.out.println(x);
    }
    for (String x : strings)
    {
         System.out.println(x);
    }
}

Bu koleksiyon iki kere yazdırmak lazım - ama düzeni ile ikinci döngü her zaman anında sona erdir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • TokShogun

    TokShogun

    6 HAZİRAN 2009