public class ContainerUtils extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
ContainerUtils.SerializableFunction<E,R>
定义一个函数接口
|
| 构造器和说明 |
|---|
ContainerUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <A,B> List<B> |
buildClassList(List<A> aClazzList,
Class<B> bClazz)
从A类型列表转换成B类型列表:A/B是派生类关系
|
static <K,T> List<?> |
buildKeyList(List<T> objList,
Method method) |
static <E,R,K,T> List<K> |
buildListByGetField(List<T> objList,
ContainerUtils.SerializableFunction<E,R> function,
Class<K> clazz)
根据对象的getXxxx(),取出类型列表中的数据
|
static <E,R,K,T> Map<K,T> |
buildMapByKey(List<T> objList,
ContainerUtils.SerializableFunction<E,R> function)
根据对象的属性名称,生成一个哈希表
|
static <K,T> Map<K,T> |
buildMapByKey(List<T> objList,
Method method)
根据对象的函数作为key,生成哈希表
|
static <K,T> Map<K,T> |
buildMapByKeyAndFinalMethod(List<T> objList,
Class<K> clazz,
Method method)
根据Key生成Map,该方法是是具体类的函数,(不具备多态能力,不是反射,速度很快)
|
static <E,R,K,T> Map<K,T> |
buildMapByKeyAndFinalMethod(List<T> objList,
ContainerUtils.SerializableFunction<E,R> function,
Class<K> clazz)
根据Key生成Map,该方法是是具体类的函数,(不具备多态能力,不是反射,速度很快)
|
static <K,T> Map<K,Map<String,Object>> |
buildMapByMapAt(List<Map<String,Object>> objList,
String mapKey,
Class<K> clazz)
根据map中的某个元素,将列表转换成以这个元素为key的map
|
static <K,T> Map<K,List<T>> |
buildMapByTypeAndFinalMethod(List<T> objList,
Class<K> clazz,
Method method)
根据对象的函数作为key,生成哈希表
|
static <E,R,K,T> Map<K,List<T>> |
buildMapByTypeAndFinalMethod(List<T> objList,
ContainerUtils.SerializableFunction<E,R> function,
Class<K> clazz)
根据Key生成Map,该方法是是具体类的函数,(不具备多态能力,不是反射,速度很快)
|
static <K,V> List<V> |
buildValueListByKey(Map<K,V> key2value,
Collection<K> keyList)
根据Key提取出相关的值列表
|
static <K,V> Map<V,K> |
exchange(Map<K,V> key2value)
交换Key-Value
|
static <K,V> Map<V,List<K>> |
exchanges(Map<K,V> key2value)
交换Key-Value
|
static <E,R,K,T> T |
getObjectByKey(List<T> objList,
ContainerUtils.SerializableFunction<E,R> function,
K key)
从列表中获取:某个字段等于某个值的对象
|
public static <K,T> List<?> buildKeyList(List<T> objList, Method method) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
public static <E,R,K,T> List<K> buildListByGetField(List<T> objList, ContainerUtils.SerializableFunction<E,R> function, Class<K> clazz)
E - 源数据的类型名称R - 源数据的方法名称K - key数据的类型T - 源数据的类型objList - AClass对象列表clazz - TClass AClass::getXxxx()中,TClass这样的成员function - AClass::getXxxx 这样的函数public static <K,T> Map<K,T> buildMapByKeyAndFinalMethod(List<T> objList, Class<K> clazz, Method method)
K - key类型T - value类型objList - 源数据列表clazz - 源数据类型method - 使用obj.getClass().getMethod("getTnlKey", new Class[0])获取Methodpublic static <E,R,K,T> Map<K,T> buildMapByKey(List<T> objList, ContainerUtils.SerializableFunction<E,R> function)
E - 识别key对象的类型名R - 识别key对象的函数名K - 哈希表的key类型T - 哈希表的value类型objList - 对象列表function - 指定的key字段public static <K,T> Map<K,T> buildMapByKey(List<T> objList, Method method)
K - key的类型T - value的类型objList - 对象列表method - key的方法public static <K,T> Map<K,List<T>> buildMapByTypeAndFinalMethod(List<T> objList, Class<K> clazz, Method method)
K - key的对象T - value的类型objList - 对象列表clazz - key对象的类型method - key对象的方法public static <E,R,K,T> Map<K,T> buildMapByKeyAndFinalMethod(List<T> objList, ContainerUtils.SerializableFunction<E,R> function, Class<K> clazz)
E - key对象的类型R - key对象中的key方法K - key的类型T - 源数据的类型objList - 类型AClass的列表容器function - 类型AClass中的某个成员getxxxx()clazz - 类型AClass中的某个成员BClass getxxxx()中的BClasspublic static <E,R,K,T> Map<K,List<T>> buildMapByTypeAndFinalMethod(List<T> objList, ContainerUtils.SerializableFunction<E,R> function, Class<K> clazz)
E - key对象的类型R - key对象中的key方法K - key的类型T - 源数据的类型objList - 类型AClass的列表容器function - 类型AClass中的某个成员getxxxx()clazz - 类型AClass中的某个成员BClass getxxxx()中的BClasspublic static <K,T> Map<K,Map<String,Object>> buildMapByMapAt(List<Map<String,Object>> objList, String mapKey, Class<K> clazz)
K - key的类型T - value的类型objList - 哈希表结构的列表mapKey - key的字段clazz - key的类型public static <E,R,K,T> T getObjectByKey(List<T> objList, ContainerUtils.SerializableFunction<E,R> function, K key)
E - key的类型R - key的函数K - 某个key对象的数值T - value的类型objList - 对象列表function - 识别key的函数key - 莫格key的数值public static <K,V> Map<V,K> exchange(Map<K,V> key2value)
K - key类型V - value类型key2value - key2valuepublic static <K,V> Map<V,List<K>> exchanges(Map<K,V> key2value)
K - key类型V - value类型key2value - key2valuepublic static <K,V> List<V> buildValueListByKey(Map<K,V> key2value, Collection<K> keyList)
K - keu类型V - value类型key2value - key2valuekeyList - key列表Copyright © 2024. All rights reserved.