类 CollectionComparator<K,T>
java.lang.Object
com.flyfish.oauth.common.sync.support.CollectionComparator<K,T>
CollectionComparator
对象比较实用工具类 用途: 1.用来根据指定字段求出对象集合的差并补集 2.用于比较对象列表,并定义比较器逐级比较 3.提供各种集合封装,便于取出想要的结果集 特性: 1.命名空间保护,不可手动初始化 2.懒加载机制,按需分配资源 3.提供对象复用方法changeTarget 4.提供回调机制,传入比较器求出不同集(高效率) 用法: 1.不带比较器的初始化工厂
CollectionComparator无效输入:'<'String, Project> util = CollectionComparator.newInstance(
originList,newList, ReflectDataUtil.getMethod(Project.class)
);
2.带比较器的初始化工厂
CollectionComparator无效输入:'<'String, Project> util = CollectionComparator.newInstanceWithComparator( originList,newList, ReflectDataUtil.getMethod(Project.class), new Comparator取出变更的内容() { ${compare}} );
util.changedKeys();
- 作者:
- wangyu
-
方法概要
修饰符和类型方法说明added()前者变为后者增加的集合前者变为后者增加的Code集合void前者转变为后者改变的Map(副本)前者转变为后者改变的Map(正本)changeTarget(List<T> origin, List<T> copy) deleted()前者变为后者删除的集合前者变为后者删除的Code集合getBind()booleanisEqual()两个集合内容是否相等(针对数据)static <E,V> CollectionComparator <E, V> newInstance(List<V> origin, List<V> copy, Function<V, E> keyMethod) static <E,V> CollectionComparator <E, V> newInstance(List<V> origin, List<V> copy, List<Function<V, E>> keyMethods) static <E,V> CollectionComparator <E, V> newInstanceWithComparator(List<V> origin, List<V> copy, Function<V, E> keyMethod, Comparator<V> comparator) static <E,V> CollectionComparator <E, V> newInstanceWithComparator(List<V> origin, List<V> copy, List<Function<V, E>> keyMethods, Comparator<V> comparator) newMap()前者转变为后者不变的集合前者转变为后者不变的集合前者转变为后者不变的集合前者转变为后者不变的Map(副本)前者转变为后者不变的Map(正本)
-
方法详细资料
-
newInstance
public static <E,V> CollectionComparator<E,V> newInstance(List<V> origin, List<V> copy, Function<V, E> keyMethod) -
newInstance
public static <E,V> CollectionComparator<E,V> newInstance(List<V> origin, List<V> copy, List<Function<V, E>> keyMethods) -
newInstanceWithComparator
public static <E,V> CollectionComparator<E,V> newInstanceWithComparator(List<V> origin, List<V> copy, Function<V, E> keyMethod, Comparator<V> comparator) -
newInstanceWithComparator
public static <E,V> CollectionComparator<E,V> newInstanceWithComparator(List<V> origin, List<V> copy, List<Function<V, E>> keyMethods, Comparator<V> comparator) -
changeTarget
-
added
-
deleted
-
addedKeys
-
deletedKeys
-
remainedOriginList
-
remainedNewList
-
changedOriginList
-
changedNewList
-
remainedKeys
-
changedKeys
-
originMap
-
newMap
-
remainedOriginMap
-
remainedNewMap
-
changedOriginMap
-
changedNewMap
-
getBind
-
bind
-
isEqual
public boolean isEqual()两个集合内容是否相等(针对数据)- 返回:
- 布尔
-