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

  • 0TACTICAL0HIPPY0

    0TACTICAL0HI

    30 EYLÜL 2012
  • 8lacKy

    8lacKy

    30 Mart 2009
  • bobinire

    bobinire

    24 EYLÜL 2006