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

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • Tomas N

    Tomas N

    14 Kasım 2010
  • UniqueApps

    UniqueApps

    4 Ocak 2009