public static void main(String[] args) {
List<Table> old = new ArrayList<>();
old.add(new Table("name1","desc1"));
old.add(new Table("name2","desc2"));
old.add(new Table("name3","desc3"));
old.add(new Table("name4","desc4"));
List<Table> new1 = new ArrayList<>();
new1.add(new Table("name3","desc3"));
new1.add(new Table("name4","desc44"));
new1.add(new Table("name5","desc5"));
new1.add(new Table("name6","desc6"));
System.out.println("add name1 ,name2");
List<Table> addList = new ArrayList<>();
addList = old.stream().filter(item -> new1.stream().noneMatch( newItem -> newItem.getName().equals(item.getName()))
).collect(Collectors.toList());
System.out.println(addList);
System.out.println("update name4");
List<Table> updateList = new ArrayList<>();
updateList = old.stream().filter(item -> new1.stream().anyMatch( newItem -> newItem.getName().equals(item.getName())
&& !newItem.getRemark().equals(item.getRemark()))
).collect(Collectors.toList());
System.out.println(updateList);
System.out.println("delete name5,6");
List<Table> deleteList = new ArrayList<>();
deleteList = new1.stream().filter(item -> old.stream().noneMatch( newItem -> newItem.getName().equals(item.getName()))
).collect(Collectors.toList());
System.out.println(deleteList);
}