手寫乙個簡單的HashMap

2021-10-10 04:39:31 字數 988 閱讀 9601

package com.lzq.mapinte***ce;

public inte***ce map

package com.lzq.hashmap;

public class entry

}

編寫hashmap類

package com.lzq.hashmap;

import com.lzq.mapinte***ce.map;

public class hashmapimplements map

@override

public v put(k k,v v)

current = current.next;

}//鍊錶中沒有相同的元素,採用頭插法,直接插在頭部

table[index] = new entry(k,v,table[index]);

}//陣列當前位置沒有內容,直接插入

table[index] = new entry(k,v,null);

size ++;

return null;

}@override

public v get(k k)

current = current.next;

}return null;

}@override

public v remove(k k)

// 在鍊錶中刪除節點

動手寫乙個簡單的promise

promise 是非同步程式設計的一種解決方案,比傳統的解決方案 函式和事件 更合理和更強大。它由社群最早提出和實現,es6 將其寫進了語言標準,統一了用法,原生提供了promise物件。所謂promise,簡單說就是乙個容器,裡面儲存著某個未來才會結束的事件 通常是乙個非同步操作 的結果。從語法上...

自己實現乙個簡單的hashmap

這個hashmap實現方式應該是jdk1.7的,在資料量小的時候和jdk1.8實現的差不多,不過我這個沒有採用鍊錶長度8時轉化紅黑樹增加查詢效率,在擴容時也是全部元素重新hash,計算新的位置,所以如果大資料量的時候,複製到新的陣列就會比較慢.jdk8裡面對複製到新的陣列也是有優化的,我這裡就沒做了...

怎麼手寫乙個簡單的List集合

list集合 手寫乙個簡單的list集合為自己呼叫並不是特別難,只需要定義乙個集合介面去提供所有方法的定義 如下 package com.myself.util public inte ce list 我們只需要去將自己需要的方法定義新增到介面中,由我們去提供實現類去實現該介面 從而可以使用乙個簡單...