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

  • PlayStation

    PlayStation

    16 Aralık 2005
  • superflyy88

    superflyy88

    8 ŞUBAT 2009
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011