Junior — Middle
HashMap içinde aynı hash değerine sahip öğelerin organizasyonu nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da, HashMap'teki aynı hash değerine (çakışmalar) sahip öğeler, bağlı liste şeklinde veya Java 8 ve sonrası sürümlerde çok sayıda çakışma varsa dengeli ağaç (TreeNode) şeklinde organize edilir.
Birden fazla anahtar aynı hash koduna sahipse, bunlar bir "kova"ye (bucket) yerleştirilir. Başlangıçta, kovadaki tüm öğeler tek bağlı liste ile ilişkilidir. Eğer bir kovadaki öğe sayısı belirli bir eşiği (genellikle 8) aşarsa, liste, arama verimliliğini artırmak için kırmızı-siyah ağaca dönüştürülür.
Basitleştirilmiş yapı örneği:
static class Node<K,V> implements Map.Entry<K,V> {
final int hash;
final K key;
V value;
Node<K,V> next;
// ...
}
Bu şekilde, çakışmalarda, HashMap önce anahtar üzerinden liste veya ağaçta öğeyi arar, anahtarları equals() ile karşılaştırır.