我有 4 个 hashMap:
Map <String, Integer> item1 =new HashMap<String, Integer>();
Map <String, Integer> item2 =new HashMap<String, Integer>();
Map <String, Integer> item3 =new HashMap<String, Integer>();
Map <String, Integer> item4 =new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)
我将其中 4 个添加到列表中:
List<Map> Items= new ArrayList<>();
Items.add(item1);
Items.add(item2);
Items.add(item3);
Items.add(item4);
Run Code Online (Sandbox Code Playgroud)
我想使用 hashMaps“Items”列表从值中获取键所以我尝试了以下代码:
for(int i=0; i<n; i++)
{
String key= null;
int value=v;
for(Map.Entry entry: Items.get(i).entrySet()){
if(value == (entry.getValue())){
key = (String) entry.getKey();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但是 Items.get(i).entrySet() 不起作用!
我收到这些错误:
-Map.Entry is a raw type. References to generic type Map<K,V>.Entry<K,V> should be parameterized
-Type mismatch: cannot convert from element type Object to Map.Entry
-Incompatible operand types int and Object
Run Code Online (Sandbox Code Playgroud)
有谁知道该怎么做?
首先重新创建 List 变量以包含地图的类型。这将使.entrySet()返回的条目格式正确Map<String,Integer>
List<Map<String, Integer>> items = new ArrayList<>();
for (int i = 0; i < items.size(); i++) {
String key = null;
int value = 0;
for (Map.Entry<String, Integer> entry: items.get(i).entrySet()) {
if (value == (entry.getValue())) {
key = (String) entry.getKey();
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16245 次 |
| 最近记录: |