public class IterKit extends Object
| Constructor and Description |
|---|
IterKit() |
| Modifier and Type | Method and Description |
|---|---|
static <E> Iterable<E> |
asIterable(Iterator<E> iter)
|
static <E> Iterator<E> |
asIterator(Enumeration<E> e)
Enumeration转换为Iterator
|
static <T> Map<T,Integer> |
countMap(Iterable<T> iterable)
根据集合返回一个元素计数的
Map
所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value
例如:[a,b,c,c,c] 得到:
a: 1
b: 1
c: 3 |
static <T> Map<T,Integer> |
countMap(Iterator<T> iterator)
根据集合返回一个元素计数的
Map
所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value
例如:[a,b,c,c,c] 得到:
a: 1
b: 1
c: 3 |
static <T> Iterator<T> |
empty()
返回一个空Iterator
|
static <K,V> Map<K,V> |
fieldValueAsMap(Iterator<?> iterator,
String fieldNameForKey,
String fieldNameForValue)
两个字段值组成新的Map
|
static <V> List<Object> |
fieldValueList(Iterator<V> iterator,
String fieldName)
获取指定Bean列表中某个字段,生成新的列表
|
static <K,V> Map<K,V> |
fieldValueMap(Iterable<V> iterable,
String fieldName)
字段值与列表值对应的Map,常用于元素对象中有唯一ID时需要按照这个ID查找对象的情况
例如:车牌号 =》车
|
static <K,V> Map<K,V> |
fieldValueMap(Iterator<V> iterator,
String fieldName)
字段值与列表值对应的Map,常用于元素对象中有唯一ID时需要按照这个ID查找对象的情况
例如:车牌号 =》车
|
static <E> Iterator<E> |
filter(Iterator<E> iterator,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能:
|
static <T extends Iterable<E>,E> |
filter(T iterable,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能:
|
static Class<?> |
getElementType(Iterable<?> iterable)
获得
Iterable对象的元素类型(通过第一个非空元素判断)
注意,此方法至少会调用多次next方法 |
static Class<?> |
getElementType(Iterator<?> iterator)
获得
Iterator对象的元素类型(通过第一个非空元素判断)
注意,此方法至少会调用多次next方法 |
static <T> T |
getFirst(Iterable<T> iterable)
获取集合的第一个元素
|
static <T> T |
getFirst(Iterator<T> iterator)
获取集合的第一个元素
|
static boolean |
hasNull(Iterable<?> iterable)
是否包含
null元素 |
static boolean |
hasNull(Iterator<?> iterator)
是否包含
null元素 |
static boolean |
isAllNull(Iterable<?> iterable)
是否全部元素为null
|
static boolean |
isAllNull(Iterator<?> iterator)
是否全部元素为null
|
static boolean |
isEmpty(Iterable<?> iterable)
Iterable是否为空
|
static boolean |
isEmpty(Iterator<?> iterator)
Iterator是否为空
|
static boolean |
isNotEmpty(Iterable<?> iterable)
Iterable是否为空
|
static boolean |
isNotEmpty(Iterator<?> iterator)
Iterator是否为空
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction)
以 conjunction 为分隔符将集合转换为字符串
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction,
String prefix,
String suffix)
以 conjunction 为分隔符将集合转换为字符串
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction)
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction,
String prefix,
String suffix)
|
static <E> List<E> |
toList(Iterable<E> iterable)
Iterator转List
不判断,直接生成新的List
|
static <E> List<E> |
toList(Iterator<E> iterator)
Iterator转List
不判断,直接生成新的List
|
static <T,K,V> Map<K,List<V>> |
toListMap(Iterable<T> iterable,
Function<T,K> keyMapper,
Function<T,V> valueMapper)
将列表转成值为List的HashMap
|
static <K,V> Map<K,List<V>> |
toListMap(Iterable<V> iterable,
Function<V,K> keyMapper)
将列表转成值为List的HashMap
|
static <T,K,V> Map<K,List<V>> |
toListMap(Map<K,List<V>> resultMap,
Iterable<T> iterable,
Function<T,K> keyMapper,
Function<T,V> valueMapper)
将列表转成值为List的HashMap
|
static <K,V> Map<K,V> |
toMap(Iterable<K> keys,
Iterable<V> values)
将键列表和值列表转换为Map
以键为准,值与键位置需对应 如果键元素数多于值元素,多余部分值用null代替
如果值多于键,忽略多余的值
|
static <K,V> Map<K,V> |
toMap(Iterable<K> keys,
Iterable<V> values,
boolean isOrder)
将键列表和值列表转换为Map
以键为准,值与键位置需对应 如果键元素数多于值元素,多余部分值用null代替
如果值多于键,忽略多余的值
|
static <K,V> HashMap<K,V> |
toMap(Iterable<Map.Entry<K,V>> entryIter)
将Entry集合转换为HashMap
|
static <T,K,V> Map<K,V> |
toMap(Iterable<T> iterable,
Function<T,K> keyMapper,
Function<T,V> valueMapper)
将列表转成HashMap
|
static <K,V> Map<K,V> |
toMap(Iterable<V> iterable,
Function<V,K> keyMapper)
将列表转成HashMap
|
static <K,V,E> Map<K,V> |
toMap(Iterator<E> iterator,
Map<K,V> map,
Func.Func1<E,K> keyFunc,
Func.Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map
|
static <K,V> Map<K,V> |
toMap(Iterator<K> keys,
Iterator<V> values)
将键列表和值列表转换为Map
以键为准,值与键位置需对应 如果键元素数多于值元素,多余部分值用null代替
如果值多于键,忽略多余的值
|
static <K,V> Map<K,V> |
toMap(Iterator<K> keys,
Iterator<V> values,
boolean isOrder)
将键列表和值列表转换为Map
以键为准,值与键位置需对应 如果键元素数多于值元素,多余部分值用null代替
如果值多于键,忽略多余的值
|
static <K,V> Map<K,V> |
toMap(Iterator<V> iterator,
Map<K,V> map,
Func.Func1<V,K> keyFunc)
Iterator转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,元素作为值
|
static <T,K,V> Map<K,V> |
toMap(Map<K,V> resultMap,
Iterable<T> iterable,
Function<T,K> keyMapper,
Function<T,V> valueMapper)
将列表转成Map
|
public static boolean isEmpty(Iterable<?> iterable)
iterable - Iterable对象public static boolean isEmpty(Iterator<?> iterator)
iterator - Iterator对象public static boolean isNotEmpty(Iterable<?> iterable)
iterable - Iterable对象public static boolean isNotEmpty(Iterator<?> iterator)
iterator - Iterator对象public static boolean hasNull(Iterable<?> iterable)
null元素iterable - 被检查的Iterable对象,如果为null 返回truenull元素public static boolean hasNull(Iterator<?> iterator)
null元素iterator - 被检查的Iterator对象,如果为null 返回truenull元素public static boolean isAllNull(Iterable<?> iterable)
iterable - iter 被检查的Iterable对象,如果为null 返回truepublic static boolean isAllNull(Iterator<?> iterator)
iterator - iter 被检查的Iterator对象,如果为null 返回truepublic static <T> Map<T,Integer> countMap(Iterable<T> iterable)
Map
所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value
例如:[a,b,c,c,c] 得到:
a: 1
b: 1
c: 3public static <T> Map<T,Integer> countMap(Iterator<T> iterator)
Map
所谓元素计数就是假如这个集合中某个元素出现了n次,那将这个元素做为key,n做为value
例如:[a,b,c,c,c] 得到:
a: 1
b: 1
c: 3public static <K,V> Map<K,V> fieldValueMap(Iterable<V> iterable, String fieldName)
K - 字段名对应值得类型,不确定请使用ObjectV - 对象类型iterable - 对象列表fieldName - 字段名(会通过反射获取其值)public static <K,V> Map<K,V> fieldValueMap(Iterator<V> iterator, String fieldName)
K - 字段名对应值得类型,不确定请使用ObjectV - 对象类型iterator - 对象列表fieldName - 字段名(会通过反射获取其值)public static <K,V> Map<K,V> fieldValueAsMap(Iterator<?> iterator, String fieldNameForKey, String fieldNameForValue)
K - 字段名对应值得类型,不确定请使用ObjectV - 值类型,不确定使用Objectiterator - 对象列表fieldNameForKey - 做为键的字段名(会通过反射获取其值)fieldNameForValue - 做为值的字段名(会通过反射获取其值)public static <V> List<Object> fieldValueList(Iterator<V> iterator, String fieldName)
V - 对象类型iterator - 对象列表fieldName - 字段名(会通过反射获取其值)public static <T> String join(Iterable<T> iterable, CharSequence conjunction)
T - 集合元素类型iterable - Iterableconjunction - 分隔符public static <T> String join(Iterable<T> iterable, CharSequence conjunction, String prefix, String suffix)
T - 集合元素类型iterable - Iterableconjunction - 分隔符prefix - 每个元素添加的前缀,null表示不添加suffix - 每个元素添加的后缀,null表示不添加public static <T> String join(Iterator<T> iterator, CharSequence conjunction)
T - 集合元素类型iterator - 集合conjunction - 分隔符public static <T> String join(Iterator<T> iterator, CharSequence conjunction, String prefix, String suffix)
T - 集合元素类型iterator - 集合conjunction - 分隔符prefix - 每个元素添加的前缀,null表示不添加suffix - 每个元素添加的后缀,null表示不添加public static <K,V> HashMap<K,V> toMap(Iterable<Map.Entry<K,V>> entryIter)
K - 键类型V - 值类型entryIter - entry集合public static <K,V> Map<K,V> toMap(Iterable<K> keys, Iterable<V> values)
K - 键类型V - 值类型keys - 键列表values - 值列表public static <K,V> Map<K,V> toMap(Iterable<K> keys, Iterable<V> values, boolean isOrder)
K - 键类型V - 值类型keys - 键列表values - 值列表isOrder - 是否有序public static <K,V> Map<K,V> toMap(Iterator<K> keys, Iterator<V> values)
K - 键类型V - 值类型keys - 键列表values - 值列表public static <K,V> Map<K,V> toMap(Iterator<K> keys, Iterator<V> values, boolean isOrder)
K - 键类型V - 值类型keys - 键列表values - 值列表isOrder - 是否有序public static <K,V> Map<K,List<V>> toListMap(Iterable<V> iterable, Function<V,K> keyMapper)
K - 键类型V - 值类型iterable - 值列表keyMapper - Map的键映射public static <T,K,V> Map<K,List<V>> toListMap(Iterable<T> iterable, Function<T,K> keyMapper, Function<T,V> valueMapper)
T - 列表值类型K - 键类型V - 值类型iterable - 值列表keyMapper - Map的键映射valueMapper - Map中List的值映射public static <T,K,V> Map<K,List<V>> toListMap(Map<K,List<V>> resultMap, Iterable<T> iterable, Function<T,K> keyMapper, Function<T,V> valueMapper)
T - 列表值类型K - 键类型V - 值类型resultMap - 结果Map,可自定义结果Map类型iterable - 值列表keyMapper - Map的键映射valueMapper - Map中List的值映射public static <K,V> Map<K,V> toMap(Iterable<V> iterable, Function<V,K> keyMapper)
K - 键类型V - 值类型iterable - 值列表keyMapper - Map的键映射public static <T,K,V> Map<K,V> toMap(Iterable<T> iterable, Function<T,K> keyMapper, Function<T,V> valueMapper)
T - 列表值类型K - 键类型V - 值类型iterable - 值列表keyMapper - Map的键映射valueMapper - Map的值映射public static <T,K,V> Map<K,V> toMap(Map<K,V> resultMap, Iterable<T> iterable, Function<T,K> keyMapper, Function<T,V> valueMapper)
T - 列表值类型K - 键类型V - 值类型resultMap - 结果Map,通过传入map对象决定结果的Map类型iterable - 值列表keyMapper - Map的键映射valueMapper - Map的值映射public static <E> List<E> toList(Iterable<E> iterable)
E - 元素类型iterable - Iteratorpublic static <E> List<E> toList(Iterator<E> iterator)
E - 元素类型iterator - Iteratorpublic static <E> Iterator<E> asIterator(Enumeration<E> e)
Adapt the specified Enumeration to the Iterator interface
E - 集合元素类型e - EnumerationIteratorpublic static <T> T getFirst(Iterable<T> iterable)
T - 集合元素类型iterable - Iterablepublic static <T> T getFirst(Iterator<T> iterator)
T - 集合元素类型iterator - Iteratorpublic static Class<?> getElementType(Iterable<?> iterable)
Iterable对象的元素类型(通过第一个非空元素判断)
注意,此方法至少会调用多次next方法iterable - Iterablepublic static Class<?> getElementType(Iterator<?> iterator)
Iterator对象的元素类型(通过第一个非空元素判断)
注意,此方法至少会调用多次next方法iterator - Iteratorpublic static <T extends Iterable<E>,E> T filter(T iterable, Filter<E> filter)
过滤出需要的对象,Filter.accept(Object)方法 返回false的对象将被使用Iterator.remove()方法移除
T - 集合类型E - 集合元素类型iterable - 集合filter - 过滤器接口public static <E> Iterator<E> filter(Iterator<E> iterator, Filter<E> filter)
过滤出需要的对象,Filter.accept(Object)方法 返回false的对象将被使用Iterator.remove()方法移除
E - 集合元素类型iterator - 集合filter - 过滤器接口public static <K,V> Map<K,V> toMap(Iterator<V> iterator, Map<K,V> map, Func.Func1<V,K> keyFunc)
K - Map键类型V - Map值类型iterator - 数据列表map - Map对象,转换后的键值对加入此Map,通过传入此对象自定义Map类型keyFunc - 生成key的函数public static <K,V,E> Map<K,V> toMap(Iterator<E> iterator, Map<K,V> map, Func.Func1<E,K> keyFunc, Func.Func1<E,V> valueFunc)
K - Map键类型V - Map值类型E - 元素类型iterator - 数据列表map - Map对象,转换后的键值对加入此Map,通过传入此对象自定义Map类型keyFunc - 生成key的函数valueFunc - 生成值的策略函数public static <T> Iterator<T> empty()
T - 元素类型Collections.emptyIterator()Copyright © 2020. All rights reserved.