java List<Map<String><String>>中比较差异数据 代码案例
时间: 2023-10-14 14:06:52 浏览: 88
下面是一个比较两个List<Map<String, String>>的差异的Java代码示例:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DiffListMap {
public static void main(String[] args) {
List<Map<String, String>> list1 = new ArrayList<Map<String, String>>();
List<Map<String, String>> list2 = new ArrayList<Map<String, String>>();
// 初始化数据
Map<String, String> map1 = new HashMap<String, String>();
map1.put("id", "1");
map1.put("name", "Tom");
map1.put("age", "20");
list1.add(map1);
Map<String, String> map2 = new HashMap<String, String>();
map2.put("id", "2");
map2.put("name", "Jerry");
map2.put("age", "22");
list1.add(map2);
Map<String, String> map3 = new HashMap<String, String>();
map3.put("id", "3");
map3.put("name", "Alice");
map3.put("age", "18");
list1.add(map3);
Map<String, String> map4 = new HashMap<String, String>();
map4.put("id", "1");
map4.put("name", "Tom");
map4.put("age", "21");
list2.add(map4);
Map<String, String> map5 = new HashMap<String, String>();
map5.put("id", "2");
map5.put("name", "Jerry");
map5.put("age", "22");
list2.add(map5);
Map<String, String> map6 = new HashMap<String, String>();
map6.put("id", "4");
map6.put("name", "Bob");
map6.put("age", "25");
list2.add(map6);
// 比较两个List<Map<String, String>>的差异
List<Map<String, String>> diffList = new ArrayList<Map<String, String>>();
for (Map<String, String> map : list1) {
if (!list2.contains(map)) {
diffList.add(map);
}
}
for (Map<String, String> map : list2) {
if (!list1.contains(map)) {
diffList.add(map);
}
}
// 输出差异数据
for (Map<String, String> map : diffList) {
System.out.println(map);
}
}
}
```
上面的代码中,我们定义了两个List<Map<String, String>>,并分别初始化了一些数据,然后比较这两个List的差异数据,最终输出差异数据。具体的比较方式是,先遍历第一个List,如果在第二个List中不存在相同的Map,则将该Map加入到差异List中;然后再遍历第二个List,如果在第一个List中不存在相同的Map,则将该Map加入到差异List中。最终输出差异List中的所有Map。
阅读全文