實現HashMap泛型類

2021-09-24 23:25:28 字數 975 閱讀 4544

haspmap結合了陣列和鍊錶量兩者的優點

從而查詢效率由於陣列得到大大提高,修改效率由於鍊錶而大大提高

hash值是根據key的hashcode() 通過雜湊演算法進行計算的

package testmap;

/** *

* @author sofency

* */

public

class

sofencyhashmap4

public

void

put(k key,v value)

else

else}if

(!keyrepeat)}}

//hash的演算法

public

intmyhash

(int v,

int length)

//get方法

@suppresswarnings

("unchecked"

)public v get

(k key)

else}}

return

(v) value;

}@override

public string tostring()

stringbuilder sb=

newstringbuilder()

; sb.('

}}sb.

setcharat

(sb.

length()

-1,'}');

return sb.

tostring()

;}public

static

void

main

(string[

] args)

}

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...

泛型之泛型類

public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...

泛型之泛型類

public class a 構造引數型別上使用泛型 public a t t 方法返回值上使用泛型 public t gett 方法的引數上使用泛型 這是泛型類的方法,而不是泛型方法 public void sett t t 方法的返回值和引數型別上使用泛型 public t foo t t pu...