組み込みのハッシュテーブルライブラリを使用せずにハッシュマップ(HashMap)を設計します。
MyHashMapクラスを実装します。
MyHashMap()は、空のマップでオブジェクトを初期化します。voidput(
int key、int value)キーと値のペア(key、value)をHashMapに挿入します。キーがマップにすでに存在する場合は、対応する値の値を更新します。
int get(int key)特定のキーによってマップされた値を返します。マッピングにキーマッピングが含まれていない場合は、-1を返します。
void remove(key)マッピングにキーマッピングがある場合は、キーとそれに対応する値を削除します。
例:
輸出入:
[“ MyHashMap”、“ put”、“ put”、“ get”、“ get”、“ put”、“ get”、“ remove”、“ get”]
[[]、[1、1]、[ 2、2]、[1]、[3]、[
2、1 ]、[2]、[2]、[2]]再出:
[null、null、null、1、-1、null、1、null 、-1]
説明:
MyHashMap myHashMap = new MyHashMap();
myHashMap.put(1、1); // myHashMapは[[1,1]]になりました
myHashMap.put(2、2); // myHashMapは[[1,1]になりました]、[2,2]]
myHashMap.get(1); // 1を返しますmyHashMapは[[1,1]、[2,2]]になりました
myHashMap.get(3); // -1を返します(見つかった)、myHashMapは[[1,1]、[2,2]]になりました
myHashMap.put(2、1); // myHashMapは[[1,1]、[2,1]]になりました(更新された値)
myHashMap.get(2); // 1を返し、myHashMapは[[1,1]、[2,1]]になりました
myHashMap.remove(2); //キー2のデータを削除しますmyHashMapは[[1 、1]]
myHashMap.get(2); // -1(見つかりません)を返し、myHashMapは[[1,1]]になりました
促す:
0 <=キー、値<= 106
呼び出しput、get、およびremoveメソッドを最大104回
代码:
private int[]a=null;
public MyHashMap() {
a=new int[1000001];
Arrays.fill(a,-1);
}
public void put(int key, int value) {
a[key]=value;
}
public int get(int key) {
return a[key];
}
public void remove(int key) {
a[key]=-1;
}