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;                  //flagtrue
                entry[i].setValue(value);   //ֵ
                break;
            }                       
        }   
        if(!flag){                      //flagfalse,sizekeyvalue
            MyEntry my=new MyEntry();   //keyvaluesize++
            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
原创粉丝点击