Junior — Middle
Java'da hash tablosunun iç yapısı ve çalışma mekanizmasını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da (örneğin, HashMap) bir hash tablosu, anahtar-değer çiftlerini saklayan ve anahtar aracılığıyla hızlı erişim sağlayan bir veri yapısıdır.
İç yapı:
- Temel yapı, bir dizi kovadır (sepetler).
- Her kova, ya
nulliçerir ya da aynı hash koduna sahip (dizinin boyutuna göre mod alınmış) öğelerin bağlı listesi (veya ağaç) içerir.
Çalışma mekanizması:
- Bir öğe eklenirken, anahtarın hash kodu hesaplanır ve kova indeksi belirlenir.
- Kova boşsa, öğe oraya yerleştirilir.
- Kova doluysa, bağlı liste (veya ağaç) içinde anahtar aranır:
- Anahtar bulunursa, değer güncellenir.
- Bulunmazsa, öğe listeye eklenir.
- Belirli bir doldurma eşiğine ulaşıldığında, dizi genişletilir (rehash) ve performans korunur.
Bu yaklaşım, ekleme, arama ve silme işlemlerinin ortalama karmaşıklığını O(1) civarında tutar.
Kullanım örneği:
Map<String, Integer> map = new HashMap<>();
map.put("key1", 100);
Integer value = map.get("key1"); // anahtar ile hızlı erişim