Java 如何迭代包含映射的列表并获取该映射的键和值
我有一个Java 如何迭代包含映射的列表并获取该映射的键和值,java,list,dictionary,Java,List,Dictionary,我有一个列表,其中包含一个关于类类型的映射。我想迭代该列表,并获取内部映射的键和值 以下是列表: quotationList = quotationService.searchByIdList(accountId, Account.class); 它包含一个索引,即索引为0时,它包含一个映射。我需要得到那张地图的键和值 我的尝试: for (int i = 0; i < quotationList.size(); i++) { Map myMap = (Map)
列表
,其中包含一个关于类类型的映射。我想迭代该列表
,并获取内部映射的键
和值
以下是列表
:
quotationList = quotationService.searchByIdList(accountId, Account.class);
它包含一个索引,即索引为0时,它包含一个映射。我需要得到那张地图的键和值
我的尝试:
for (int i = 0; i < quotationList.size(); i++) {
Map myMap = (Map) quotationList.get(i);
System.out.println("Data For Map" + i);
for (Entry<String, Object> entrySet : ((Map<String, Object>) myMap).entrySet()) {
System.out.println("Key = " + entrySet.getKey() + " , Value = " + entrySet.getValue());
}
}
for(int i=0;i
要获取列表中的第一项:
Map<MyKey, MyValue> myMap = quotationList.get(0);
下一步是循环该入口集:
for (Entry<MyKey, MyValue> entry : myMap.entrySet()) {
MyKey key = entry.getKey();
MyValue value = entry.getValue();
}
for(条目:myMap.entrySet()){
MyKey=entry.getKey();
MyValue=entry.getValue();
}
Java8:如果您的地图是map
,那么
quotationList.forEach(item -> item.entrySet().forEach(entry -> {
String key = entry.getKey();
String value = entry.getValue();
}));
如果case list包含元素,那么代码应该打印映射的内容
下面是列表中有一个映射元素的代码,它正在打印映射的内容:
myMap.entrySet();
List>quotationList=new ArrayList>()
Map Map=newhashmap();
地图放置(“键1”、“值1”);
quotationList.add(地图);
对于(int i=0;i
它将产生如下输出:
Map0的数据
Key=key1,Value=value1for(int i=0;在初始化列表时输入列表的类型,例如:List quotationList=new ArrayList();然后在quotationsList.get(i)处正确地将其键入cast。否则您的逻辑似乎正确:)quotationList的声明是什么,为什么需要映射
cast?你怎么了?请提供一个,显示列表声明,插入该列表的数据示例,…它给了我一个类强制转换异常,com.mycaptionlabs.domain.user.Account不能强制转换为java.util.Map您在该列表中有一个帐户实例,而不是映射。这就是为什么给我们提供每一个信息是很重要的。您希望获得并打印的地图是什么?请用这些信息回答这个问题。我也尝试过类似的方法。但不起作用。将对象转换为映射时出现异常。如果您没有列表
,则可能是quotationList不包含MapIt包含的内容,因为如果我将其放入映射并将其传递到前端,它将显示所有值Show您可以确定,您是否可以尝试将其放在您的代码系统上。out.println(quotationList.get(0)图的实例);它在大多数情况下都可以正常工作,但在这种情况下不行,因为它包含一个模型实例。
Map<String, Object> map= new HashMap<String, Object>();
map.put("key1", "value1");
quotationList.add(map);
for (int i = 0; i < quotationList.size(); i++) {
Map myMap = (Map) quotationList.get(i);
System.out.println("Data For Map" + i);
for (Entry<String, Object> entrySet : ((Map<String, Object>) myMap).entrySet()) {
System.out.println("Key = " + entrySet.getKey() + " , Value = " + entrySet.getValue());
}
}