读书人

java hashMap获取键值对,该如何解决

发布时间: 2012-06-12 14:21:25 作者: rapoo

java hashMap获取键值对
hashMap里有键值对 Draft_dwg=abc、 Draft_pdf=cdf、Draft_wmf=gph
我现在如何把hashmap中的key得到,并且拼接成字符串的形式,比如字符串1得到 “Draft_dwg, Draft_pdf, Draft_wmf”
字符串2得到"abc,cdf,gph" 因为这两个字符串要插入到sql语句,insert into flat (字符串1) values (字符串2)

[解决办法]
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}

[解决办法]

Java code
public static void main(String[] args) {    LinkedHashMap<String, String> map = new LinkedHashMap<>();    map.put("Draft_dwg", "abc");    map.put("Draft_pdf", "cdf");    map.put("Draft_wmf", "gph");    System.out.println(createInsertSQL(map, "flat"));}public static String createInsertSQL(Map<String, String> map, String table) {    StringBuilder keys = new StringBuilder();    StringBuilder values = new StringBuilder();    boolean first = true;    for (Entry<String, String> entry : map.entrySet()) {        if (!first) {            keys.append(", ");            values.append(", ");        }        first = false;        keys.append(entry.getKey());        values.append("\"" + entry.getValue() + "\"");    }    return "insert into " + table + " (" + keys + ") values (" + values + ")";}
[解决办法]
补充一下,map有个keySet方法可以得到所有的key,另sql语句的value是用单引号扩起来的
Java code
Map<String, String> map = new LinkedHashMap<String, String>();        map.put("Draft_dwg", "abc");        map.put("Draft_pdf", "cdf");        map.put("Draft_wmf", "gph");        StringBuffer cols = new StringBuffer();        StringBuffer vals = new StringBuffer();        boolean first = true;        for (String key : map.keySet())        {            if (!first)            {                cols.append(", ");                vals.append(", ");            }            first = false;            cols.append(key);            vals.append("'" + map.get(key) + "'");        }        System.out.println("insert into   flat  (" + cols + ") values (" + vals+ ")");
[解决办法]
Java code
  Map<String, String> map = new HashMap<String, String>();                  map.put("Draft_dwg", "abc");        map.put("Draft_pdf", "cdf");        map.put("Draft_wmf", "gph");                Set<String> keys = map.keySet() ;         Collection<String> values = map.values() ;                System.out.println( keys );         System.out.println( values ); 

读书人网 >J2SE开发

热点推荐