您的位置:首页 > 编程语言 > Java开发

Java Map集合解析

2015-07-13 09:32 357 查看
Map<String, String> map = new HashMap<String, String>();
map.put("user.1.name","user1");
map.put("user.2.age","user2");
map.put("user.3.count","user3");

map.put("bank.1.name","bank1");
map.put("bank.2.price","bank2");
map.put("bank.3.count","bank3");

Map<String,Object> records = new HashMap<String,Object>();
for (Object obj : map.entrySet()) {
Map.Entry entry = (Map.Entry)obj;
String k = (String)entry.getKey();
String v = (String)entry.getValue();
int i = k.indexOf(".");
int j = k.lastIndexOf(".");
if(i>0 && j>0){
String tableName = k.substring(0, i);
String rowNo = k.substring(i+1, j);
String fieldName = k.substring(j+1);
Map<String,Object> rows = (Map<String,Object>)records.get(tableName);
if(rows==null){
rows = new HashMap<String, Object>();
records.put(tableName, rows);
}
Map<String, Object> row = (Map<String, Object>)rows.get(rowNo);
if(row==null){
row = new HashMap<String, Object>();
rows.put(rowNo, row);
}
row.put(fieldName, v);
}
}
for (Object obj : records.keySet()) {
Map<String,Object> rows = (Map<String,Object>)records.get(obj);
for (int i = 1; i < rows.size()+1; i++) {
Map<String, Object> row = (Map<String, Object>)rows.get(String.valueOf(i));
for (Object o : row.entrySet()) {
Map.Entry entry = (Map.Entry)o;
String k = (String)entry.getKey();
String v = (String)entry.getValue();
System.out.println("k :"+k+" v:"+v);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java Map 集合