Bilgisayar bilimlerinde, bir hashmap veya karma tablo, her bir veri parçasının benzersiz bir tanımlama numarası veya sembole bağlanması için bir veri yapılandırma şeklidir. Bu, özellikle binlerce girdi içeren büyük bir veritabanından kolay erişim sağlar. Hashim, programın belirli bir parçası değil, veritabanında anahtar olarak bilinen her bir öğeyi, o öğenin yerine getirilen bir değere atayan bir veri organizasyonu biçimini ifade eder. Karma işlevi, programın anahtarlarını değerlerine bağlayan kısmıdır.
Telefon defterleri mükemmel bir hashma örneğidir. Telefon rehberinin düzenlenme şekli hashmap yapısını temsil eder. Farklı değerleri bir araya getirmeye ve sadece bir değeri diğer bir terime veya telefon numarasına bağlamaya odaklanır. Telefon rehberindeki isimler, tuşlar ve telefon numaraları da kendileriyle ilişkili değerlerdir. Kitaptaki her kişiye farklı bir numara verilir ve ikisi aynı değildir.
Postane kutuları da hashmap için bir metafor görevi görür. Her insanın tek bir kutunun anahtarı vardır. Kutu, kutunun anahtarına sahip olan kişiye yönelik olarak birçok bilgi parçasını (fatura, mektup, kartpostal) tutabilir. Doğru anahtar, doğru kutuya yerleştirildiğinde veya doğru kutuya eklendiğinde içeriğini ortaya çıkarmak için açılır.
Mükemmel işleyen hashmapler, bir anahtarı bilgisayar veritabanındaki bir hafızaya "kutuya" bağlar. Ne yazık ki, iki anahtarın aynı kutuya gittiği yerde, çarpışma çarpması olarak bilinen bir faktör ortaya çıkabilir. Bu, çok miktarda veri girildiğinde ve hepsini barındıracak kadar "kutu" olmadığında gerçekleşir.
Bir telefon rehberinden veya postane kutusundan farklı olarak, hashmaps'ler, anahtarın ve eşleştiği değer veya kutunun yanı sıra üçüncü bir öğeyi de içerir. Aynı zamanda bir karma işlevi içerir. Bir kişi hangi postane kutusunun onun olduğunu bilir, ancak hangi anahtarın hangi kutuya gittiği bir bilgisayara söylenmelidir. Karma işlevi, tuşa bakar, onu bir sayı veya kod dizisine çevirir ve karşılık gelen kodu içeren kutuya bağlar. "Mary" gibi anahtarın adı yalnızca orada olduğundan, kişilerin yorumlaması daha kolay olur, oysa asıl kod bilgisayarın okuması için bir sayı dizisidir.


