List<Map<String, Object>> jbxx,jbxx怎么遍历取值啊,高手请进,在线等,回答详细一点哦。最好直接上代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List<Map<String, Object>> jbxx,jbxx怎么遍历取值啊,高手请进,在线等,回答详细一点哦。最好直接上代码相关的知识,希望对你有一定的参考价值。
jbxx是基本信息的意思
参考技术A 我看错题目了吗?这个直接这样取不久行了么?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' 参考技术B 遍历两次
我也是从网上找的,试试吧
<%
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> 参考技术C 给个模板, 自己多看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)
参考技术D 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
第5个回答 2011-09-15 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());
Java 8:将 Map<String, List<String>> 转换为 Map<String, String[]> [重复]
【中文标题】Java 8:将 Map<String, List<String>> 转换为 Map<String, String[]> [重复]【英文标题】:Java 8: Converting Map<String, List<String>> to Map<String, String[]> [duplicate] 【发布时间】:2020-03-17 10:33:27 【问题描述】:Map<String, List<String>> parameters;
Map<String, String[]> collect = parameters.entrySet().stream()
.collect(Collectors.toMap(entry-> entry.getKey(),entry -> entry.getValue().toArray()));
我收到编译器错误无法解析方法“getKey()”
【问题讨论】:
【参考方案1】:您应该创建一个正确类型的数组(即 String[]
而不是 Object[]
):
Map<String, String[]> collect =
parameters.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
entry -> entry.getValue().toArray(new String[0])));
【讨论】:
【参考方案2】:你必须使用:
.toArray(String[]::new)
而不仅仅是:
.toArray()
因为这个返回 Object[]
而不是 String[]
正如 cmets 中所讨论的,我的解决方案可以从 Java11 开始有效
【讨论】:
以上是关于List<Map<String, Object>> jbxx,jbxx怎么遍历取值啊,高手请进,在线等,回答详细一点哦。最好直接上代码的主要内容,如果未能解决你的问题,请参考以下文章
List<Object> 到 Map<String, Map<String,List<Object>>>
求教arraylist里面放map,怎么循环遍历得到map里面的数据,如:List<Map<String, String>> list = new Ar
list<String>如何转化为Map<String, Object>,list<EmpVO>如何转化为Map<String, Object>