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

  • infodirt

    infodirt

    11 Mart 2009
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • Phymec

    Phymec

    18 Temmuz 2009