自己手動寫乙個HashMap

2022-10-09 00:12:17 字數 1286 閱讀 3077

目錄

public inte***ce map

}

public class hashmapimplements map

/*** 通過key 進行hash

* index下表陣列 當前陣列對應的物件entry

* 判斷當前這個物件為空 如果是空的,直接可以儲存資料,如果不為空,就是hash衝突,所以要用鍊錶,然後返回這個儲存結果

* @param k

* @param v

* @return

*/@override

public v put(k k, v v) else

return (v)table[index].getvalue();

}private int hash(k k)

/*** 通過key進行hash

* 找到陣列的下標index

* 找到entry物件 是否為空

* 如果為空 直接返回 沒有找到

* 如果不為空 然後判斷k和當前物件的key是否相等

* 如果不相等 不是它 然後在判斷next是否為空

* 如果不為空 在進行比較key值 直到相等 才返回 或者返回null

設計模式 自己手動寫乙個命令模式

命令模式 將 請求 封裝成物件,以便使用不同的請求 佇列 日誌來引數化其他物件。命令模式也支援可撤銷的操作。命令物件將動作和接收者 當作的執行者 包進物件中。這個物件之暴露乙個execute 方法.命令也可以用來實現日誌和事務系統。巨集命令是命令的一種簡單延伸,允許呼叫多個命令。下面是命令模式的乙個...

自己手動寫乙個簡單的bs結構

拋去web框架,自己手寫乙個bs請求響應過程 自己建立乙個資料夾test,包含乙個hello.html 和乙個webserver.py 自己在html檔案裡面寫一些標籤 下面是webserver.py的主要內容 server obj.serve forever webserver.py主要是在本地啟...

自己寫乙個LIST

pragma once forward declarations templateclass clistnode templateclass clist template class clistnode void insertafter t data template void clistnode ...