HashMap ve HashTable Arasındaki Farklar

Merhaba arkadaşlar, bu yazımda HashMap ve HashTable arasındaki farkları anlatacağım. HashMap ve HashTable, Java’da collectionlar içerisinde yer alan veri yapılarıdır.

İkiside keyvalue olarak veri saklarlar ve  java.util.Map interfacesini uygularlar. İkiside kullanım açısından aynıdırlar ancak aralarında ciddi farklılıklar da bulunur.

HashTable ve HashMap Arasındaki Farklar

HashMap

HashTable

HashMap senkronize değildir.  Threadlar için güvenli değildir ve uygun senkronize kodu olmadan birçok thread arasında paylaşılamaz. HashTable senkronizedir. Thread açısından güvenlidir ve birçok thread ile paylaşılabilir.
HashMap bir adet null keyine ve birden fazla null value ya izin verir. HashTable null key veya value ya izin vermez.
HashMap, JDK 1.2 ile yeni class olarak tanıtıldı. HashTable, eski bir classtır.
HashMap hızlıdır. HashTable yavaştır.
HashMap’i aşağıdaki kod ile senkronize hale getirebiliriz. Map map = Collections.synchronizedMap(hashMap); HashTable kendiliğinden senkronize edilir.
HashMap, Iterator tarafından geçilir. HashTable, Enumerator ve Iterator tarafından geçilir.
HashMap, AbstractMap classını miras alır. HashTable, Dictionary classını miras alır.

Bu yazımda HashTable ve HashMap arasındaki farkları anlattım. Diğer yazılarda görüşmek üzere.

Print Friendly, PDF & Email

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir