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

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • metal571

    metal571

    30 Mayıs 2006
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007