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

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • David Wills

    David Wills

    31 Aralık 2007
  • Matthew Smith

    Matthew Smit

    24 Mayıs 2010