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

  • cyriak

    cyriak

    29 Mart 2006
  • Tube Time

    Tube Time

    14 Mayıs 2013
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011