public static Map test(){
Map<String, String> inMap = new HashMap();
inMap.put("aa", "astr");
inMap.put("bb", "bstr");
inMap.put("cc", "cstr");
inMap.put("dd", "dstr");
inMap.put("ee", "estr");
inMap.put("ff", "fstr");
                ::
                ::
                :: Map<String, String> outMap = new HashMap();
outMap.put("aa", (String)inMap.get("aa"));
outMap.put("bb", (String)inMap.get("aa"));
outMap.put("cc", (String)inMap.get("aa"));
return outMap;
}

解决方案 »

  1.   

    刚才粘错了,下面的是对的
    public static Map test(){
    Map <String, String> inMap = new HashMap();
    inMap.put("aa", "astr");
    inMap.put("bb", "bstr");
    inMap.put("cc", "cstr");
    inMap.put("dd", "dstr");
    inMap.put("ee", "estr");
    inMap.put("ff", "fstr");
                    ::
                    ::
                    ::
    Map <String, String> outMap = new HashMap();
    outMap.put("aa", (String)inMap.get("aa"));
    outMap.put("bb", (String)inMap.get("bb"));
    outMap.put("cc", (String)inMap.get("cc"));
    return outMap;
    }
      

  2.   

    从效率上 ?还是长短上?
    第二个Map中的(String)强制转换可以去掉。
    另外可以在声明Map的时候直接初始化。
      

  3.   

    看错了,Map <String, String> inMap = new HashMap<String, String>(); 
    Map <String, String> outMap = new HashMap<String, String>();
    这个时候可以去掉强制转换。 
      

  4.   

    你那个put值的如果有规律 是不是可以用个循环来做啊,看着别扭.
      

  5.   

    除了Map <String, String> inMap = new HashMap<String, String>();以外,没什么好优化的。 只是感觉这么写代码好像有点不妥,你贴出来的代码可能没有说明你真实的需求。inMap.put("ff", "fstr");
                    ::
                    ::你这个::省略太多了,aa/bb/cc/dd...这是什么?应该想个办法不要这么写代码,不好维护。
      

  6.   

    把key做成一个数组,遍历下。
    这是最简单的优化了。
      

  7.   

    Map <String, String> inMap = new HashMap<String, String>(); 
    inMap.put("aa", "astr"); 
    inMap.put("bb", "bstr"); 
    inMap.put("cc", "cstr"); 
    inMap.put("dd", "dstr"); 
    inMap.put("ee", "estr"); 
    inMap.put("ff", "fstr");  Map <String, String> outMap = new HashMap<String, String>(); 
    Set<String> keySet = inMap.keySet();
    for (String s : keySet) {
    outMap.put(s, inMap.get(s)); 
    }
      

  8.   

    不好意思啊,没写明白,真正意思是:
    有一个Map集合里面有n多key和value键值对,
    我只想取出几对,组成新的Map集合,key和value都不变。
      

  9.   

    HashMap有putAll函数,为什么不用呢
    还一次次遍历填进去呢??
    outMap.putAll(inMap)
      

  10.   


    package com.gjhohj.test;import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class Test01 {
       
    Map <String, String> inMap = new HashMap();
    Map <String, String> outMap = new HashMap(); 
    public static void main(String args[]) {
    Test01 t = new Test01() ;
    t.test();
    t.test1();

    } public  void test(){ 
    for (int i=0;i<=25;i++) {
        inMap.put((char)((int)'a' + i) + "" + (char)((int)'a' + i),(char)((int)'a' + i)+"str");
    }

    }

    public void test1() {
    for (int i=0;i<=25;i++) {
    outMap.put((char)((int)'a' + i) + "" + (char)((int)'a' + i),(String)inMap.get(i));
    }

    }

    }