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

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • theKGB65

    theKGB65

    24 Aralık 2007