List<Map<String, Object>> 遍历删除
时间: 2023-10-14 12:13:21 浏览: 108
我们可以使用迭代器和remove()方法来遍历和删除List<Map<String, Object>>中的元素。以下是示例代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 假设我们往 List 中添加了一些 Map 对象
// 使用迭代器遍历 List
Iterator<Map<String, Object>> iterator = list.iterator();
while (iterator.hasNext()) {
Map<String, Object> map = iterator.next();
// 判断是否需要删除当前元素
if (/* 需要删除 */) {
iterator.remove(); // 删除当前元素
}
}
```
在上述代码中,我们首先获取了 List 的迭代器,然后使用 while 循环遍历 List 中的元素。在每次循环中,我们都会获取当前元素对应的 Map 对象,然后判断是否需要删除该元素。如果需要删除,我们就使用迭代器的 remove() 方法删除当前元素。
需要注意的是,在使用迭代器遍历 List 时,我们不能直接使用 List 的 remove() 方法来删除元素,否则会抛出 ConcurrentModificationException 异常。因此,我们必须使用迭代器的 remove() 方法来删除元素。
相关问题
List<Map<String, Object>> list = dsScoreMapper.selectScoreList(dsScore);遍历list
您可以使用以下代码来遍历这个List:
```
for(Map<String, Object> map : list){
for(Map.Entry<String, Object> entry : map.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + " : " + value);
}
}
```
这里的Map表示List中的每一个元素,其键值对可以通过entrySet()方法遍历获取。在遍历时,我们可以先通过for循环遍历List中的每个Map,再通过for循环遍历Map中的每个键值对,从而输出每个键值对的键和值。
如何遍历 List<Map<String, Object>>
可以使用 foreach 循环遍历 List,再使用 Map 的 keySet() 方法遍历 Map 中的键值对。
示例代码:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("id", 1);
map1.put("name", "Alice");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("id", 2);
map2.put("name", "Bob");
list.add(map2);
for (Map<String, Object> map : list) {
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
}
```
输出结果:
```
id: 1
name: Alice
id: 2
name: Bob
```
阅读全文