手寫hashmap演算法

2022-08-26 01:57:08 字數 509 閱讀 8237

/**

* 01.自定義乙個hashmap

* 02.實現put增加鍵值對,實現key重複時替換key的值

* 03.重寫tostring方法,方便檢視map中的鍵值對資訊

* 04.實現get方法,根據鍵物件獲取相應的值物件

* 05.封裝、增加泛型

* 06.remove方法、陣列擴容方法暫缺

* 07.remove方法已增加

*/package cn.study.lu.four;

public v get(k key) else }}

return value;

}public void remove(k key) else else

copy.next = temp.next;

temp = null;

size--;}}

}public static void main(string args)

class node2

class node3

資料結構 手寫hashmap

define size 100 位址鏈個數,足夠大 class simhash public simhash simhash delete map 清除陣列 void insert int key,int value node p map hash key 確定位址鏈索引 node q new no...

手寫HashMap,實現put,get以及擴容

public class myhashmap public int gethash public void sethash int hash public k getkey public void setkey k key public v getvalue public void setvalue...

使用鍊錶 陣列,手寫HashMap

在jdk1.7版本的hashmap 底層採用了鍊錶 陣列的方式實現資料的儲存及擴容等,在jdk1.8後hashmap的底層換為紅黑樹 陣列的方式。這邊以鍊錶 陣列的方式模仿原始碼寫乙個自己的簡易hashmap。其中初始容量設為的10,負載因子設定0.5,上面效果已有了擴容的效果。因為是基於鍊錶 陣列...