要求必须有如下几个方法
          1put(String strKey,Object  obj)放入容器  
          2get(String strKey)取出数据
          3getSize()取得hashmap的包含元素的个数帮忙写个程序代码,谢谢

解决方案 »

  1.   


    public class Demo<K,V> extends HashMap {

    /**
     * 
     */
    private static final long serialVersionUID = -8865167244855177229L;

    public Map<String, Object> map = new HashMap<String, Object>();

    public void put(String key,Object  value){
    map.put(key, value);
    }
        public Object get (String key){
         return map.get(key);
        }
        public int getSize(){
         return map.size();
        }
    }
      

  2.   

    没看过源码 不是很了解hash 所以只能简单的写个类似map的东西 import java.util.*;
    public class Test {
    public static void main(String args[]){
    MyNewMap xmap=new MyNewMap();
    xmap.put("a", 10);
    xmap.put("b", new String[]{"x","y","z"});
    xmap.put("c",new Date());
    System.out.println(xmap.getSize());
    System.out.println(xmap.get("a"));
    for(String s:(String[])xmap.get("b"))
    System.out.println(s);
    System.out.println(xmap.get("c"));
    System.out.println(xmap.get("d"));
    }
    } class MyNewMap{
    private final static int defaultMaxSize=100;
    private static int size=0;
    private String[] key;
    private Object[] value;

    public MyNewMap(int MaxSize){
    key=new String[MaxSize];
    value=new Object[MaxSize];
    }
    public MyNewMap(){
    key=new String[defaultMaxSize];
    value=new Object[defaultMaxSize];
    }

    public void put(String strKey,Object obj){
    key[size]=strKey;
    value[size]=obj;
    size++;
    }
    public Object get(String strKey){
    for(int i=0;i<size;i++){
    if(key[i]==strKey){
    return value[i];
    }
    }
    return null;
    }
    public  int getSize(){
    return size;
    }
    }3
    10
    x
    y
    z
    Wed Apr 02 11:20:47 CST 2008
    null
      

  3.   

    不知道LZ是否要求hashmap的线程安全功能
      

  4.   

    为啥是HashMap,Map就好了吧:3楼有点意思了HashMap要用到哈希码3楼没有考虑增长~
      

  5.   

    class MyNewMap{
        private final static int defaultMaxSize=100;
        private static int size=0;//这个不能是static, 要不创建几个MAP的时候就会出错了
        private String[] key;
        private Object[] value;
        
        public MyNewMap(int MaxSize){
            key=new String[MaxSize];
            value=new Object[MaxSize];
        }
        public MyNewMap(){
            key=new String[defaultMaxSize];
            value=new Object[defaultMaxSize];
        }
            
        public void put(String strKey,Object obj){//这个应该先找一下原来有没有同样的KEY的:有则替换旧值就可以了(size不增加),没有才这样
            key[size]=strKey;
            value[size]=obj;
            size++;
        }
        public Object get(String strKey){
            for(int i=0;i<size;i++){
                if(key[i]==strKey){//不能用==吧
                    return value[i];
                }
            }
            return null;
        }
        public  int getSize(){
            return size;
        }
    }
      

  6.   

    对哦 我为什么要加个static  哈哈 其实增长我考虑了 没写 其他几点倒是没考虑