Junior
HashMap'te nesnelerin depolanması nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Nesneler "anahtar-değer" çiftleri olarak saklanır. HashMap, "kova" (buckets) dizisi kullanır. Bir çift eklerken:
- Anahtarın hash kodu
hashCode()yöntemiyle hesaplanır. - Hash kodu kullanılarak dizideki kovanın indeksi belirlenir.
- Bu kovana, anahtar, değer ve hash kodunu içeren bir
Entryçifti (veya Java'nın daha yeni sürümlerinde karşılığı) yerleştirilir. - Eğer kovanda zaten nesneler varsa, bunlar bağlı liste veya ağaç oluşturur (çok sayıda çakışma durumunda).
Bir nesne alınırken:
- Anahtarın hash kodu hesaplanır.
- Kovanın indeksi belirlenir.
- Kova içinde,
equals()fonksiyonutruedönen ve hash kodları eşleşen anahtara sahip nesne aranır.
Anahtarlar değiştirilemez olmalı ve hashCode() ile equals() metodları doğru şekilde uygulanmalıdır.