本帖最后由 y11111494 于 2010-01-05 10:36:18 编辑

解决方案 »

  1.   

    多看看API啊,API上面的都有,也能提高自己水平!
      

  2.   

    map中放的数据是:
    Map.Entry<String, String> pairs
    map.put(pairs.getKey(),pairs.getValue());
      

  3.   

    map.get("a"),这就是通过key得到value的值
      

  4.   

    推荐楼主下载一个Java中文API,API版本跟你java版本一致,这是提高java水平的快捷方式
    map.put("a", "b");
    map.get("a");
      

  5.   


    使用map3.get("a")
    返回的是null
      

  6.   


    System.out.println(map.get(pars.getKey()));LZ多看API呀...
      

  7.   

    对不起重新声明一下:
     Map<String, String> map = new IdentityHashMap<String, String>();如果 Map<String, String> map = new HashMap<String, String>();这样定义
    按照大家的方法是没错的。
      

  8.   

            Map<String, String> map = new IdentityHashMap<String, String> ();        map.put("a", "b");
            map.put("c", "d");        System.out.println(map.get("a"));        /**
             * 打印结果:b
             */
      

  9.   


    map里面可以存放:
    map.put("a","b");
    map.put("a","c");
    map.put("a","d");
    这是如何查找?
    map.get("a")返回null
      

  10.   


    map里面可以存放:
    map.put("a","b");
    map.put("a","c");
    map.put("a","d");
    这是如何查找?
    map.get("a")返回null
      

  11.   


            Map<String, String> map = new IdentityHashMap<String, String> ();        map.put("a","b");
            map.put("a","c");
            map.put("a","d");
            map.put("e","f");        System.out.println(map.get("a"));
            
            /**
             * 打印结果:d
             */
    这是不可能返回null的,因为你指定的key,在map中存在,只是他会返回同一个key最后一个对应的value,map中不应该存在一个key,对应多个value。
    标准一个key,一个value。按照你这样的逻辑结构,你可以改造一下map的泛型,如下:Map<String, List<String>> map = new IdentityHashMap<String, List<String>> ();
    or
    Map<String, String[]> map = new IdentityHashMap<String, String[]> ();等。
      

  12.   


            Map<String, String> map = new IdentityHashMap<String, String> ();        map.put("a","b");
            map.put("a","c");
            map.put("a","d");
            map.put("e","f");        System.out.println(map.get("a"));
            
            /**
             * 打印结果:d
             */
    这是不可能返回null的,因为你指定的key,在map中存在,只是他会返回同一个key最后一个对应的value,map中不应该存在一个key,对应多个value。
    标准一个key,一个value。按照你这样的逻辑结构,你可以改造一下map的泛型,如下:Map<String, List<String>> map = new IdentityHashMap<String, List<String>> ();
    or
    Map<String, String[]> map = new IdentityHashMap<String, String[]> ();
      

  13.   

    map里面可以存放: 
    map.put("a","b"); 
    map.put("a","c"); 
    map.put("a","d"); 
    这是如何查找? 
    map.get("a")返回null 
    肯定不是返回null
    是返回最后一个压进去的值。也就是说返回是d
      

  14.   

    IdentitiHashMap比较的是对象地址
      

  15.   

    map.put("a","b"); 
    map.put("a","c"); 
    map.put("a","d");map 的 key 是不允许重复的。
      

  16.   


    IdentitiHashMap他比较的是引用,,,
    hashmap比较的是字符串的哈希码,或对象地址的哈希码
    但是当前问题中字符串的哈希码比较和引用比较没什么区别,所以看不出效果至于hashmap是如何把key 和value进行匹配的, 
    估计就是根据key算出一个hash地址,把value存进去。3个‘a’的hash地址相同,value当然就是存的最后一个了。
    而重复put 相同的的key他不报错,只是规定你key不能重复,一个key对应一个value。你输入相同的key他会覆盖掉以前的数据,这是很危险的,所以在put key的时候要坐下是否重复的判断。