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

  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008