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:
- Anahtarın hash kodu
hashCode()yöntemiyle hesaplanır. - Hash kodu, genellikle
hash & (capacity - 1)işlemiyle bucket dizisinin bir indeksine dönüştürülür. - Seçilen buckette, aranan anahtarla eşit olan öğe (karşılaştırma
equals()ile yapılır) aranır. - Öğ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.