SORU
22 Temmuz 2010, PERŞEMBE


Bir Liste olmadığını kontrol etmek için bir yol< hızlı;Dize> benzersiz bir Dize içerir

Temelde yaklaşık 1.000.000 dizeleri, bir Dize listesine ait verme sorumluluğu var, her istek için var.

Performansı hakkında endişeliyim, ne en iyi yöntem? 0**? Karma?

CEVAP
22 Temmuz 2010, PERŞEMBE


En iyi bahis eğer bir dize contains() yöntemi ile kümesi varsa HashSet ve bir kontrol kullanmak. HashSets Nesne yöntemleri hashCode() equals() kullanımı yoluyla hızlı erişim için inşa edilir. HashSet Devletler için Javadoc:

Bu sınıf, temel işlemleri (ekleme, kaldırma içerir ve boyutu), sürekli performans sunar

Değeri hashCode yöntemi tarafından döndürülen bir nesne içinde saklı olan belirleyecek olan stores objects in hash buckets HashSet. Bu şekilde, HashSet equals() yöntemi ile gerçekleştirilecek olan eşitlik Çek miktarı aynı karma demet sadece diğer Nesneler için azalır.

HashSets ve HashMaps etkin bir şekilde kullanmak, equals hashCode sözleşme in the javadoc ana hatlarıyla uymak zorundasın. java.lang.String durumunda bu yöntemler, zaten bunu yapmak için uygulanmıştır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • Tome Rodrigo

    Tome Rodrigo

    9 Temmuz 2006
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014