Sobes.tech
Junior — Middle

Bir HashMap yapısı içindeki öğeye nasıl erişildiğini açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da HashMap, aynı hash koduna sahip öğeleri içeren bağlı liste veya ağaç (Java 8'den itibaren) içeren bir bucket dizisi temelinde uygulanmıştır.

Bir öğeye erişim şu şekilde gerçekleşir:

  1. Anahtarın hash kodu hashCode() yöntemiyle hesaplanır.
  2. Hash kodu, genellikle hash & (capacity - 1) işlemiyle bucket dizisinin bir indeksine dönüştürülür.
  3. Seçilen buckette, aranan anahtarla eşit olan öğe (karşılaştırma equals() ile yapılır) aranır.
  4. Öğe bulunursa, ona bağlı değer döndürülür.

Örnek:

HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // hash hesaplanır, bucket seçilir, öğe aranır

Bu şekilde, öğeye erişim, hash'in hesaplanması, bucket'ın seçilmesi ve anahtarın bucket içindeki aranmasını içerir.