List<Map<String, Object>> 遍历删除
时间: 2023-10-14 17:13:21 浏览: 54
我们可以使用迭代器和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<Map<String, Object>> 是一个由 Map<String, Object> 组成的列表,每个 Map<String, Object> 都表示一个键值对,其中键为 String 类型,值为 Object 类型。
要遍历 List<Map<String, Object>>,可以使用 for 循环来遍历列表中的每个元素,然后再使用 for-each 循环遍历每个 Map<String, Object> 中的键值对。
示例代码如下:
```
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
// 添加元素
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("name", "张三");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", "李四");
map2.put("age", 25);
list.add(map2);
// 遍历元素
for (int i = 0; i < list.size(); i++) {
Map<String, Object> map = list.get(i);
// 遍历键值对
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
System.out.println(key + ": " + value);
}
}
```
输出结果为:
```
name: 张三
age: 20
name: 李四
age: 25
```
在遍历时,可以根据需要对每个键值对进行处理,例如将值转换为特定的类型或进行其他操作。
IPage<Map<String, Object>>怎么遍历
遍历IPage<Map<String, Object>>可以使用以下方法:
```java
IPage<Map<String, Object>> page = new Page<>(current, size); // 创建IPage对象,current为当前页码,size为每页显示的数量
IPage<Map<String, Object>> resultPage = yourMapper.selectMapsPage(page, yourWrapper); // 执行查询操作,yourMapper为你的Mapper对象,yourWrapper为查询条件的Wrapper对象
List<Map<String, Object>> records = resultPage.getRecords(); // 获取查询结果列表
for (Map<String, Object> record : records) {
for (Map.Entry<String, Object> entry : record.entrySet()) {
String key = entry.getKey(); // 获取键
Object value = entry.getValue(); // 获取值
// 进行相应的操作
}
}
```
请注意,上述代码中的`yourMapper`和`yourWrapper`需要根据你的实际情况进行替换。