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怎么遍历取值啊,高手请进,在线等,回答详细一点哦。最好直接上代码的主要内容,如果未能解决你的问题,请参考以下文章

Java Map 按键归约

List<Object> 到 Map<String, Map<String,List<Object>>>

如何把list<map> 变成list<string>

求教arraylist里面放map,怎么循环遍历得到map里面的数据,如:List<Map<String, String>> list = new Ar

list<String>如何转化为Map<String, Object>,list<EmpVO>如何转化为Map<String, Object>

List<Map<String, Integer>> 遍历相加