參考了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 我的陣列表 用...