SORU
4 Kasım 2009, ÇARŞAMBA


Java: bir koleksiyonundan ilk parça Almak

Eğer bir koleksiyonum var, Collection<String> strs gibi nasıl ilk madde çıkabilir miyim? Sadece Iterator, next() at ** 4 İlk deplasman diyebilirim. Daha az savurgan bir yol var mı?

CEVAP
4 Kasım 2009, ÇARŞAMBA


Öyle görünüyor ki bunu yapmak için en iyi yoldur:

String first = strs.iterator().next();

Güzel soru... ilk başta, Collection arayüzü için bir kusur gibi görünüyor.

"İlk" her zaman toplama koymak, ve sadece sipariş koleksiyonları için bir anlam ifade etmiyor olabilir ilk şey gelmeyecek. unutmayın Emir mutlaka perserved olmadığından belki de get(item) bir çağrı yok, neden olduğunu.

Biraz gereksiz gibi görünüyor olsa da, sandığın kadar kötü olmayabilir. Iterator gerçekten sadece toplama, tüm koleksiyonu genellikle bir kopyasını içine dizin bilgileri içerir. Bu yöntem çağırma Iterator nesnenin örneğini yapar, ama bu gerçekten sadece yükü (tüm öğeleri kopyalama gibi değil).

Örneğin, bu tür ArrayList<String>.iterator() yöntemi tarafından döndürülen bakarak, ArrayList::Itr olduğunu görüyoruz. Bu sadece doğrudan listenin elemanları erişen bir iç sınıf, onları kopyalamak yerine.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014