java 两个list集合泛型是map,如何筛除相同的数据
时间: 2023-08-11 08:28:02 浏览: 66
如果你有两个泛型为 Map 的 List 集合,并且需要筛选出它们中相同的数据,你可以按照以下步骤进行:
1. 遍历第一个 List 集合,将其中每个元素的值与第二个 List 集合中的元素进行比较。
2. 如果第二个 List 集合中存在与第一个集合中相同的元素,将其从第二个 List 集合中删除,并将这个元素加入到一个新的 List 集合中。
3. 遍历完第一个 List 集合后,新的 List 集合中就存储了两个集合中相同的数据。
下面是一个示例代码:
```
List<Map<String, Object>> list1 = new ArrayList<>();
List<Map<String, Object>> list2 = new ArrayList<>();
List<Map<String, Object>> result = new ArrayList<>();
// 假设两个集合中已经存储了数据
for (Map<String, Object> map : list1) {
for (Iterator<Map<String, Object>> iterator = list2.iterator(); iterator.hasNext();) {
Map<String, Object> m = iterator.next();
if (map.equals(m)) {
result.add(map);
iterator.remove();
break;
}
}
}
```
这个代码示例中,假设两个集合中存储的是 Map 类型的元素,你可以根据实际情况调整集合的泛型。同时,在比较两个 Map 元素是否相同时,需要实现 Map 对象的 equals 方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)