问题:由于业务需求,接口的入参出参都是List
public static List deleteDuplicatedMapFromListByKeys(
List
测试:
public static void main(String[] args) {
List
测试结果:
未去重的集合:[{name=张翰, id=11}, {name=霍尊, id=11}, {name=吴签, id=22}]
去重后的集合:[{name=霍尊, id=11}, {name=吴签, id=22}]
问题:由于业务需求,接口的入参出参都是List
public static List
测试:
public static void main(String[] args) {
List listMap = new ArrayList<>();
List list = new ArrayList<>();
Map map1 = new HashMap();
map1.put("id", "11");
map1.put("name", "张翰");
Map map2 = new HashMap();
map2.put("id", "11");
map2.put("name", "霍尊");
Map map3 = new HashMap();
map3.put("id", "22");
map3.put("name", "吴签");
list.add(map1);
list.add(map2);
list.add(map3);
System.out.println("集合1:"+list);
Map map4= new HashMap();
map4.put("id", "22");
map4.put("name", "吴签");
listMap.add(map1);
listMap.add(map4);
System.out.println("集合2:"+listMap);
//查找差集
List list2 = deleteDuplicatedMapFromListByKeys1(list, listMap);
System.out.println("集合的差集:"+list2);
}
结果:
集合1:[{name=张翰, id=11}, {name=霍尊, id=11}, {name=吴签, id=22}]
集合2:[{name=张翰, id=11}, {name=吴签, id=22}]
集合的差集:[{name=霍尊, id=11}]
如果是对象的集合,利用Lambda表达式的方式是很快的哈,但listMap好像不太好用,可能我了解的不深哈,不知道怎么用,只能参考出这种。
参考文章:
java 两个List集合各种情况对比处理
Java : ListMap中 根据map的某个key去重



