自己實現hashmap linkedhashmap

2021-10-24 01:17:39 字數 829 閱讀 7343

參考了jdk1.8原始碼,自己實現乙個簡單的,原始碼裡有很多位運算。我這裡化為簡單的實現了。

這裡使用1.8以後的尾插法。

只實現了 put 、resize、get方法。

package com.meng.hashmap;

public

class

myhashmap

public object put

(object key, object val)

else

} e = entry;

size++;}

if(size > table.length * loadfactor)

return null;

}private

void

resize()

while

(e != null);}

} table = newtable;

initialcapacity = newcapacity;

}public object get

(object key)

else}}

return null;

}static

class

entry

}public

static

void

main

(string[

] args)

public

void

print()

system.out.

println()

;}}}

自己實現printf

原理不是很難網上有很多,自己搜一下就明白了。void printlog const char fmt,看到上面 太簡單了,也許有人會說,這有什麼用?在我看來最大的用處在於寫日誌,如果我們把 稍稍改下就可以把螢幕上的輸出一起輸出到檔案乙份 在初始化處把全域性變數日誌檔案開啟就像這樣 plogfile ...

自己實現Promise

class mypromise 0 resolve obj reject obj then func,errfunc function fff resolve,reject test var m new mypromise fff var num 1 m.then obj obj console.l...

自己實現ArrayList

我們已經學過了陣列了,但我們知道乙個事,陣列是定長的,定長的陣列顯然是滿足不了我們的需求的,因為我們不知道自己需要多長的陣列,所以只能定義的盡可能大,這樣就會造成極大的空間浪費。那麼我們可不可以想個辦法去實現乙個不固定長度的容器呢?這節課我就來帶大家實現乙個不固定長度的容器。code 我的陣列表 用...