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;
}
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;
}
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;
}
第二个Map中的(String)强制转换可以去掉。
另外可以在声明Map的时候直接初始化。
Map <String, String> outMap = new HashMap<String, String>();
这个时候可以去掉强制转换。
::
::你这个::省略太多了,aa/bb/cc/dd...这是什么?应该想个办法不要这么写代码,不好维护。
这是最简单的优化了。
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));
}
有一个Map集合里面有n多key和value键值对,
我只想取出几对,组成新的Map集合,key和value都不变。
还一次次遍历填进去呢??
outMap.putAll(inMap)
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));
}
}
}