List<Map<String, Object>> jbxx,jbxx怎么遍历取值啊,高手请进,在线等,回答详细一点哦。最好直接上代码

jbxx是基本信息的意思
2024-12-06 21:28:22
推荐回答(5个)
回答1:

我看错题目了吗?这个直接这样取不久行了么?
for(Map map : jbxx ){
String xk = (String)map.get("xk");//强转看对象类型了,以String作为例子
String dydsxm= (String)map.get("dydsxm");
}

以下是演示的程序和打印结果
public static void main(String[] args){
//数据准备
Map map = null;
List> jbxx = new ArrayList>();
for(int i = 0;i<10;i++){
map = new HashMap();
map.put("xk", i+"");
map.put("dydsxm", i+"");
jbxx.add(map);
}
//取值过程
for(Map m : jbxx ){
String xk = m.get("xk")==null?"":(String)m.get("xk");
String dydsxm= m.get("dydsxm")==null?"":(String)m.get("dydsxm");
System.out.println("xk='"+xk+"',dydsxm='"+dydsxm+"'");//演示取值结果
}

}

xk='0',dydsxm='0'
xk='1',dydsxm='1'
xk='2',dydsxm='2'
xk='3',dydsxm='3'
xk='4',dydsxm='4'
xk='5',dydsxm='5'
xk='6',dydsxm='6'
xk='7',dydsxm='7'
xk='8',dydsxm='8'
xk='9',dydsxm='9'

回答2:

遍历两次
我也是从网上找的,试试吧
<%
List list = new ArrayList();
Map map1 = new HashMap();
map1.put("testaa","mytestaa");
map1.put("testbb","mytestbb");
Map map2 = new HashMap();
map2.put("testcc","mytestcc");
map2.put("testdd","mytestdd");
list.add(map1);
list.add(map2);
pageContext.setAttribute("list",list);
%>

假设使用jstl标签输出:


${map.key}---->${map.value}


回答3:

给个模板, 自己多看api, 这种直接在网上查就可以
if(jbxx != null){
//遍历 list,每个都是Map
for(Map map: jbxx){
if(map != null){
//得到map的所有key
Set keys = map. keySet();
//遍历key
for(String key: keys){
key
map.get(key)
}
}
}
}

回答4:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

for (Map map : jbxx) {
Set> set = (Set>) map.entrySet();
Iterator> its = set.iterator();
while (its.hasNext()) {
Entry entry = (Entry) its.next();
String key = (String) entry.getKey(); // key
Object value = entry.getValue(); // value

}
}

回答5:

for(int i=0;i Map map = jbxx.get(i);
Set set = map.keySet();
Iterator its = set.iterator();
while (its.hasNext()) {
// key
String key = its.next();
// value
Object value = map.get(key);
}
}