Anahtar Fark: Bilgisayar bilimlerinde bir hashTable veya hashMap, anahtarları (isimleri) değerlerle (nitelikler) bağlayan bir veri yapısını ifade eder. Java'da, ikisi arasında bazı önemli farklar vardır: HashTable senkronize edilir ve HashMap senkronize edilmez. Bir HashTable boş anahtarlara izin vermiyor. Ancak, bir HashMap tek bir boş anahtar ve herhangi bir sayıda boş değere izin verir.
HashMap ve hashTable, Java koleksiyonunun bir parçası olan veri yapılarıdır. Nesneleri saklamak için anahtar çiftleri kullanırlar. Her ikisi de, hem java.util.Map arabirimini uygulayan hem de her ikisi de karma ilkesi üzerinde çalışan gibi bazı benzerlikleri paylaşır. Ancak, bunlara Java programlama dili bağlamında baktığımızda, ikisi arasında sayısız farklar vardır.
Bir hashTable, bir anahtar kullanarak bir değeri saklamak ve almak için kullanılır. Bu amaçla, anahtarın benzersiz olması gerekir. Anahtar ve değer çiftlerini depolamak için kullanılan tablo, karma tablo olarak bilinir. Anahtarları hash eden bir algoritma kullanılarak bir karma tablosu oluşturulur. Bu karma işlevi, giriş verilerine sayı atamak için kullanılır ve ardından veriler hesaplanan veya değerlendirilen sayıya karşılık gelen dizi dizini olarak depolanır.
HashMap ve HashTable arasındaki karşılaştırma:
HashMap | HashTable | |
Senkronizasyon | Senkronize değil | Senkronize (iplik güvenli) |
Boş Değerler | Anahtar ve değer olarak boş değerlere izin verir | Boş değerlere izin vermiyor |
Java’ya giriş | Java sürüm 1.2 | Java geliştirme kitinin ilk sürümü |
performans | Nispeten daha iyi | Nispeten zayıf |
Uzattı | AbstractMap sınıfını genişletir | Oldukça eski olan Dictionary sınıfını genişletiyor |
Anahtarların yinelenmesi | Yineleyici, tuşları yinelemek için kullanılır | Numaralandırma arayüzü, tuşları tekrarlamak için kullanılır |
Uygulamalar | Dişli olmayan uygulamalar için daha iyi | Genellikle, çok iş parçacıklı uygulamalar için güvenli |
serileştirme | Serileştirilmedi | Serilendirilmiş |
Alternatif | Bir çok iş parçacığı ortamı için eşzamanlı hashMap kullanabilirsiniz | Böyle bir alternatif yok |