public class DiffUtils extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
DiffUtils.DiffResult<O,T> |
| 构造器和说明 |
|---|
DiffUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <O,T,K> DiffUtils.DiffResult<O,T> |
diffList(List<O> originList,
List<T> targetList,
java.util.function.Function<O,K> originKeyExtract,
java.util.function.Function<T,K> targetKeyExtract,
java.util.function.BiPredicate<O,T> predicate)
对比两个List的元素
如果 originList 的元素在 targetList 中存在 PrimaryKey 相等的元素并且 elementComparator 比较结果不相等,则将修改后的值添加到changedList列表中;
如果 originList 的元素在 targetList 中不存在,将baseList中的元素添加到deletedList中;
如果 targetList 的元素在 originList 中不存在,将targetList中的元素添加到addedList中;
complexity: O(n)
|
public static <O,T,K> DiffUtils.DiffResult<O,T> diffList(List<O> originList, List<T> targetList, java.util.function.Function<O,K> originKeyExtract, java.util.function.Function<T,K> targetKeyExtract, java.util.function.BiPredicate<O,T> predicate)
如果 originList 的元素在 targetList 中存在 PrimaryKey 相等的元素并且 elementComparator 比较结果不相等,则将修改后的值添加到changedList列表中; 如果 originList 的元素在 targetList 中不存在,将baseList中的元素添加到deletedList中; 如果 targetList 的元素在 originList 中不存在,将targetList中的元素添加到addedList中;
complexity: O(n)
T - TO - TK - ToriginList - 基础List(原来的List)targetList - 目标List(最新的List)predicate - 元素比较器originKeyExtract - 主键选择器targetKeyExtract - 主键选择器Copyright © 2021. All rights reserved.