SORU
22 Mayıs 2010, CUMARTESİ


Arasındaki fark HashMap, LinkedHashMap ve TreeMap

Java HashMap, LinkedHashMap TreeMap arasındaki fark nedir? Her üç keySet values olarak çıktı herhangi bir fark göremiyorum. Ne Hashtables?

Map m1 = new HashMap();
m1.put("map", "HashMap");
m1.put("schildt", "java2");
m1.put("mathew", "Hyden");
m1.put("schildt", "java2s");
print(m1.keySet()); 
print(m1.values()); 

SortedMap sm = new TreeMap();
sm.put("map", "TreeMap");
sm.put("schildt", "java2");
sm.put("mathew", "Hyden");
sm.put("schildt", "java2s");
print(sm.keySet()); 
print(sm.values());

LinkedHashMap lm = new LinkedHashMap();
lm.put("map", "LinkedHashMap");
lm.put("schildt", "java2");
lm.put("mathew", "Hyden");
lm.put("schildt", "java2s");
print(lm.keySet()); 
print(lm.values());

CEVAP
22 Mayıs 2010, CUMARTESİ


Tüm üç sınıf Map arabirimi uygulamak ve çoğunlukla aynı işlevselliği sunuyor. En önemli fark, hangi girdilerle yineleme olacak.

  • HashMap yineleme düzeni hakkında hiçbir garanti yapar. (Ve) hatta yeni öğeler eklendiğinde tamamen değiştirebilir.
  • TreeMap "" compareTo() yöntem (veya dışarıdan bir Comparator birlikte verilen) göre anahtar. sipariş doğal göre yineleme olacak Ayrıca, bu tür bağımlı yöntemler içeren SortedMap arayüzü, emri uygular.
  • LinkedHashMap girdileri göster sokuldu sırada yineleme

"Hashtable" karma tabanlı Haritalar için genel adıdır. Java API bağlamında, Hashtable koleksiyonlar çerçeve var olmadan önce Java 1.1 günlerinden eski bir sınıf. API işlevi yinelenen eski yöntemler ile darmadağın olduğu için artık kullanılmalı ve yöntemleri performans azaltmak ve genellikle işe yaramaz) eşitlenir. Karma tablosu yerine kullanın. ConcurrrentHashMap.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008