Java Hashmap 中的衝突

Hiten Kanwar 2021年10月2日
Java Hashmap 中的衝突

Java 集合介面使用其 HashMap 類提供雜湊表資料結構的功能。此類將元素儲存在鍵值對中,其中鍵充當識別符號並且與對映中的值相關聯是唯一的。

在本教程中,我們將討論 Java 中的碰撞。

HashMap 鍵包含一個雜湊碼和一個 equals() 方法。每當我們向 Map 插入新條目時,它都會檢查雜湊碼。它解析整個物件池,使用 equals() 方法搜尋雜湊碼的相似性。

如果存在任何條目,則新值將替換主要現有值。否則,它只會建立一個全新的鍵值對。

當多個鍵雜湊到同一個儲存桶時,或者當兩個或多個物件具有相同的雜湊碼但不同時,就會發生衝突。當兩個鍵被雜湊到相同的值時,在儲存桶位置形成一個連結串列,其中所有資訊都儲存為對映的條目,其中包含鍵值對。

如果條目存在於列表中,訪問任何物件可能會變得很麻煩。這些連結串列從 Java 8 版本轉換為二叉樹。

HashMap 使用稱為鏈的概念非常有效地處理衝突情況,它建議將值儲存在連結串列或二叉樹中,如 Java 8 的方法轉換所示。

相關文章 - Java HashMap