Sobes.tech
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 null iç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ı:

  1. Bir öğe eklenirken, anahtarın hash kodu hesaplanır ve kova indeksi belirlenir.
  2. Kova boşsa, öğe oraya yerleştirilir.
  3. Kova doluysa, bağlı liste (veya ağaç) içinde anahtar aranır:
    • Anahtar bulunursa, değer güncellenir.
    • Bulunmazsa, öğe listeye eklenir.
  4. 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