Junior — Middle
HashMap tuzilmasi ichidagi elementga qanday kirish mumkinligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Java'da HashMap, bir hash kodu temelinde, her biri aynı hash koduna sahip öğeleri içeren bağlı liste veya ağaç (Java 8'den itibaren) içeren bir bucket dizisi olarak uygulanı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.