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

jbxx是基本信息的意思... jbxx是基本信息的意思 展开
 我来答
liyi830813
2011-09-15 · TA获得超过952个赞
知道小有建树答主
回答量:1034
采纳率:0%
帮助的人:960万
展开全部
我看错题目了吗?这个直接这样取不久行了么?
for(Map<String,Object> map : jbxx ){
String xk = (String)map.get("xk");//强转看对象类型了,以String作为例子
String dydsxm= (String)map.get("dydsxm");
}

以下是演示的程序和打印结果
public static void main(String[] args){
//数据准备
Map<String,Object> map = null;
List<Map<String,Object>> jbxx = new ArrayList<Map<String,Object>>();
for(int i = 0;i<10;i++){
map = new HashMap<String,Object>();
map.put("xk", i+"");
map.put("dydsxm", i+"");
jbxx.add(map);
}
//取值过程
for(Map<String,Object> 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'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shi546638263
2011-09-15
知道答主
回答量:7
采纳率:0%
帮助的人:3.9万
展开全部
遍历两次
我也是从网上找的,试试吧
<%
List<Map> list = new ArrayList<Map>();
Map<String,String> map1 = new HashMap<String,String>();
map1.put("testaa","mytestaa");
map1.put("testbb","mytestbb");
Map<String,String> map2 = new HashMap<String,String>();
map2.put("testcc","mytestcc");
map2.put("testdd","mytestdd");
list.add(map1);
list.add(map2);
pageContext.setAttribute("list",list);
%>

假设使用jstl标签输出:
<c:forEach items="${list}" var="temp">
<c:forEach items="${temp}" var="map">
${map.key}---->${map.value}<br>
</c:forEach>
</c:forEach>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
main_inf
2011-09-15 · TA获得超过1575个赞
知道小有建树答主
回答量:811
采纳率:100%
帮助的人:534万
展开全部
给个模板, 自己多看api, 这种直接在网上查就可以
if(jbxx != null){
//遍历 list,每个都是Map
for(Map map: jbxx){
if(map != null){
//得到map的所有key
Set<String> keys = map. keySet();
//遍历key
for(String key: keys){
key
map.get(key)
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xckouy
2011-09-15 · TA获得超过1538个赞
知道小有建树答主
回答量:1291
采纳率:0%
帮助的人:860万
展开全部
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<String, Object> map : jbxx) {
Set<Entry<String, Object>> set = (Set<Entry<String, Object>>) map.entrySet();
Iterator<Entry<String, Object>> its = set.iterator();
while (its.hasNext()) {
Entry<String, Object> entry = (Entry<String, Object>) its.next();
String key = (String) entry.getKey(); // key
Object value = entry.getValue(); // value

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰火两重天
2011-09-15 · TA获得超过1425个赞
知道小有建树答主
回答量:1489
采纳率:0%
帮助的人:991万
展开全部
for(int i=0;i<jbxx.size();i++) {
Map<String,Object> map = jbxx.get(i);
Set<String> set = map.keySet();
Iterator<String> its = set.iterator();
while (its.hasNext()) {
// key
String key = its.next();
// value
Object value = map.get(key);
}
}
追问
还是有点不懂,jbxx里边有xk,dydsxm这两个字段,他们的值怎么取啊?
追答
jbxx里边有xk,dydsxm这两个字段
那应该有个类来封装的吧。
比如:
public class Bean {
private Object xk;
private Object dydsxm;

// 省略get/set...
}
for(int i=0;i 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);
// 把value转成对应的类型。
Bean b = (Bean)value;
// xk的值
System.out.println(b.getXk());
// dydsxm的值
System.out.println(b.getDydsxm());
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式