Map的底层实现
来源:互联网 发布:石川智晶 知乎 编辑:程序博客网 时间:2024/06/05 15:02
package com.scxh.ex12testMap.myEntry;
public class MyEntry {
private Object key;
private Object value;
public Object getKey() {
return key;
}
public void setKey(Object key) {
this.key = key;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
package com.scxh.ex12testMap.myEntry;
public class MyMap {
private MyEntry[] entry;
private int size;//元素的个数
MyMap(){
entry=new MyEntry[10];
}
public void put(Object key,Object value){
boolean flag=false;
for(int i=0;i<size;i++){ //遍历
MyEntry myEntry=entry[i]; //
if(key.equals(myEntry.getKey())){//如果数组中存在相同的key
flag=true; //令flag等于true
entry[i].setValue(value); //令该位置处的值为传入的值(覆盖)ֵ
break;
}
}
if(!flag){ //如果flag为false,就令节点数组的size下标处的key和value
MyEntry my=new MyEntry(); //值为传入的key和value,并令size++
my.setKey(key);
my.setValue(value);
entry[size]=my;
size++;
}
}
public int size(){
return size;
}
public MyEntry get(int index){
return entry[index];
}
public static void main(String[] args) {
MyMap map=new MyMap();
map.put("1", "11");
map.put("2", "22");
map.put("3", "33");
map.put("4", "44");
map.put("4", "55");
for(int i=0;i<map.size();i++){
MyEntry entry=map.get(i);
System.out.println(entry.getKey()+"---"+entry.getValue());
}
}
}
0 0
- Map的底层实现
- Java Map的底层实现
- Java -- Map的底层实现
- 刚发现set的底层是通过map实现的
- Java Map底层实现思路
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- C++中 vector、list、deque、set、map的底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- STL中map、set的数据结构及底层实现
- C++中 vector、list、deque、set、map的底层实现
- STL中map、set的数据结构及底层实现
- HashSet与HashMap底层实现
- svn插件下载与eclipse集成
- Spring之JMS之接受消息
- 多点定位方法的讨论
- 如何自定View
- Map的底层实现
- leetcode 6 ZigZag Conversion
- 《常见算法和数据结构》元素排序(3)——洗牌算法
- js获取浏览器的版本信息
- 找出数组中出现次数超过一半或者超过1/3的元素
- Mesos的自恢复能力及其核心框架的docker执行思维
- 模拟银行家算法
- 连连看
- Spring之JMS之发送消息