Sobes.tech
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:

  1. Anahtarın hash kodu hashCode() yöntemiyle hesaplanır.
  2. Hash kodu kullanılarak dizideki kovanın indeksi belirlenir.
  3. 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.
  4. 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:

  1. Anahtarın hash kodu hesaplanır.
  2. Kovanın indeksi belirlenir.
  3. Kova içinde, equals() fonksiyonu true dö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.