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

  • BigDawsVlogs

    BigDawsVlogs

    17 HAZİRAN 2013
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008