/**
* 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,上面效果已有了擴容的效果。因為是基於鍊錶 陣列...