package collection;
public class MapHashMap<K,V> {
// 数组的长度
private int size;
// 定义数组
private Entry<K,V>[] table;
// 数组的默认初始长度
private final int CAPACITY = 8;
/**
* 初始化数组容量
*/
public MapHashMap() {
this.table = new Entry[CAPACITY];
}
public int getSize(){
return size;
}
/***
* 数组中的节点
* @param <K> key
* @param <V> value
*/
static class Entry<K,V>{
final int hash;
public int getHash() {
return hash;
}
public K getKey() {
return key;
}
public V getValue() {
return value;
}
public Entry<K, V> getNext() {
return next;
}
final K key;
V value;
Entry<K,V> next;
public Entry(int hash, K key, V value, Entry<K, V> next) {
this.hash = hash;
this.key = key;
this.value = value;
this.next = next;
}
}
/***
* 根据key获取value
* @param key key
* @return value
*/
public Object get(Object key){
int hash = key.hashCode();
int i = hash % CAPACITY;
for(Entry<K,V> entry = table; entry != null; entry = entry.next){
if(entry.key.equals(key)){
return entry.value;
}
}
return null;
}
public Object put(K key, V value){
int hash = key.hashCode();
int i = hash % CAPACITY;
for(Entry<K,V> entry = table; entry != null; entry = entry.next){
if(entry.key.equals(key)){
V oldValue = entry.value;
entry.value = value;
return oldValue;
}
}
addEntry(hash,key,value,i);
return null;
}
void addEntry(int hash,K key, V value, int index){
Entry entry = new Entry(hash,key,value,table[index]);
table[index] = entry;
size ++;
}
// 测试
public static void main(String[] args) {
MapHashMap mapHashMap = new MapHashMap();
mapHashMap.put("213","123");
System.out.println(mapHashMap.get("213"));
}
}
咨询部王丹 发表于 2020-5-18 14:40
珍惜每一道题,加油
小公举 发表于 2020-5-18 14:41
感谢楼主的分享,谢谢啦!
咨询部王丹 发表于 2020-5-18 14:40
珍惜每一道题,加油
zplxwl 发表于 2020-5-19 15:32
666666666666666666
jsnoob 发表于 2020-5-18 23:04
加油加油加油!!!
yujq 发表于 2020-5-19 11:42
6666666666666666666666
大安 发表于 2020-5-18 17:39
感谢分享!
jsnoob 发表于 2020-5-18 23:04
加油加油加油!!!
举个栗子 发表于 2020-5-18 15:30
666666666666666666666666666666
半个程序员 发表于 2020-5-18 15:41
总结很棒。。。。点赞,。
manyihang 发表于 2020-5-18 17:17
6666666666666666666
jsnoob 发表于 2020-5-18 23:04
加油加油加油!!!
yujq 发表于 2020-5-19 11:42
6666666666666666666666
逆风TO 发表于 2020-5-18 17:34
你只管去努力,剩下的交给天意。
逆风TO 发表于 2020-5-28 10:37
加油啊 努力啊~
1467584 发表于 2020-5-20 09:56
66666666666666666666666666
哦嗨呦 发表于 2020-5-21 17:53
好人一生平安
王锦 发表于 2020-5-21 17:09
6666666666666666666
zhaosongzhi 发表于 2020-5-21 17:09
666666666666666666
逆风TO 发表于 2020-5-28 10:48
加油啊 努力啊~
大智叔叔 发表于 2020-5-21 17:03
你开心就好啦
zhaosongzhi 发表于 2020-5-21 17:09
666666666666666666
素问 发表于 2020-5-21 00:29
感谢分享,继续加油~~~!!!!
大智叔叔 发表于 2020-5-21 17:02
你开心就好啦
大智叔叔 发表于 2020-5-21 17:03
你开心就好啦
王锦 发表于 2020-5-21 17:09
6666666666666666666
kdhdjdj 发表于 2020-5-21 11:14
6666666666666666666666666
hongping 发表于 2020-5-21 15:29
你开心就好啊
王锦 发表于 2020-5-21 17:09
6666666666666666666
hongping 发表于 2020-5-21 15:24
你开心就好啊
kdhdjdj 发表于 2020-5-21 11:14
6666666666666666666666666
黑马程序员啊 发表于 2020-5-20 10:21
66666666666666666666666666
殷凯老师 发表于 2020-5-20 17:33
感谢楼主的分享,谢谢啦!
竹竹竹竹 发表于 2020-5-22 10:23
6666666666666666666666
竹竹竹竹 发表于 2020-5-22 10:23
6666666666666666666666
json0314 发表于 2020-5-22 20:59
666666666666666666666
json0314 发表于 2020-5-22 20:59
666666666666666666666
mydorling11 发表于 2020-5-23 18:48
yum install net-tools
逆风TO 发表于 2020-5-28 10:41
加油啊 努力啊~
竹竹竹竹 发表于 2020-5-22 10:23
6666666666666666666666
逆风TO 发表于 2020-5-28 10:38
加油啊 努力啊~
1467584 发表于 2020-5-20 09:56
66666666666666666666666666
lzq123 发表于 2020-5-21 20:28
666666666666666666
哦嗨呦 发表于 2020-5-21 17:53
好人一生平安
zhaosongzhi 发表于 2020-5-21 17:09
666666666666666666
哦嗨呦 发表于 2020-5-21 17:53
好人一生平安
我是小圆圆 发表于 2020-5-21 18:52
66666666666666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |