java List对象 [{"a":"1"},{"b":"3"}] List对象[{"a":"1"}] 前面list按照后面的list去删除数据
时间: 2024-06-02 12:06:16 浏览: 35
对于这个问题,你可以通过遍历前一个List的每个元素,然后在后一个List中查找是否存在相同的元素,如果存在就删除。具体的代码如下:
```java
List<Map<String, String>> list1 = new ArrayList<>();
list1.add(new HashMap<String, String>(){{put("a", "1");}});
list1.add(new HashMap<String, String>(){{put("b", "3");}});
List<Map<String, String>> list2 = new ArrayList<>();
list2.add(new HashMap<String, String>(){{put("a", "1");}});
for (Map<String, String> map : list1) {
if (list2.contains(map)) {
list1.remove(map);
}
}
```
注意,在遍历List时,不能直接使用`for (int i=0; i<list.size(); i++)`的方式,因为在删除元素时会导致`ConcurrentModificationException`异常。因此,我们使用增强型for循环来遍历List,并且使用`Iterator`的`remove()`方法来删除元素。
阅读全文