| 构造器和说明 |
|---|
IterUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <E> Iterable<E> |
asIterable(Iterator<E> iter)
|
static <E> Iterator<E> |
asIterator(Enumeration<E> e)
Enumeration转换为Iterator
Adapt the specified
Enumeration to the Iterator interface |
static <T> Map<T,Integer> |
countMap(Iterable<T> iter)
已过时。
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.countMap
|
static <T> Map<T,Integer> |
countMap(Iterator<T> iter)
|
static <T> Iterator<T> |
empty()
返回一个空Iterator
|
static <K,V> Map<K,V> |
fieldValueAsMap(Iterable<?> iterable,
String fieldNameForKey,
String fieldNameForValue)
已过时。
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.fieldValueMap
|
static <K,V> Map<K,V> |
fieldValueAsMap(Iterator<?> iter,
String fieldNameForKey,
String fieldNameForValue)
两个字段值组成新的Map
|
static <V> List<Object> |
fieldValueList(Iterable<V> iterable,
String fieldName)
获取指定Bean列表中某个字段,生成新的列表
|
static <V> List<Object> |
fieldValueList(Iterator<V> iter,
String fieldName)
获取指定Bean列表中某个字段,生成新的列表
|
static <K,V> Map<K,V> |
fieldValueMap(Iterable<V> iter,
String fieldName)
已过时。
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.fieldValueMap
|
static <K,V> Map<K,V> |
fieldValueMap(Iterator<V> iter,
String fieldName)
字段值与列表值对应的Map,常用于元素对象中有唯一ID时需要按照这个ID查找对象的情况
例如:车牌号 =》车 |
static <E> Iterator<E> |
filter(Iterator<E> iter,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能: 1、过滤出需要的对象, Filter.accept(Object)方法返回false的对象将被使用Iterator.remove()方法移除
|
static <T extends Iterable<E>,E> |
filter(T iter,
Filter<E> filter)
过滤集合,此方法在原集合上直接修改
通过实现Filter接口,完成元素的过滤,这个Filter实现可以实现以下功能: 1、过滤出需要的对象, Filter.accept(Object)方法返回false的对象将被使用Iterator.remove()方法移除
|
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<?> iter)
是否包含
null元素 |
static boolean |
hasNull(Iterator<?> iter)
是否包含
null元素 |
static boolean |
isAllNull(Iterable<?> iter)
是否全部元素为null
|
static boolean |
isAllNull(Iterator<?> iter)
是否全部元素为null
|
static boolean |
isEmpty(Iterable<?> iterable)
Iterable是否为空
|
static boolean |
isEmpty(Iterator<?> Iterator)
Iterator是否为空
|
static boolean |
isEqualList(Iterable<?> list1,
Iterable<?> list2)
判断两个
Iterable 是否元素和顺序相同,返回true的条件是:
两个Iterable必须长度相同
两个Iterable元素相同index的对象必须equals,满足Objects.equals(Object, Object)
此方法来自Apache-Commons-Collections4。 |
static boolean |
isNotEmpty(Iterable<?> iterable)
Iterable是否为空
|
static boolean |
isNotEmpty(Iterator<?> Iterator)
Iterator是否为空
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction)
已过时。
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.join
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction,
String prefix,
String suffix)
已过时。
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.join
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction)
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction,
Function<T,? extends CharSequence> func)
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction,
String prefix,
String suffix)
|
static int |
size(Iterable<?> iterable)
返回 Iterable 对象的元素数量
|
static int |
size(Iterator<?> iterator)
返回 Iterator 对象的元素数量
|
static <E> List<E> |
toList(Iterable<E> iter)
Iterator转List
不判断,直接生成新的List |
static <E> List<E> |
toList(Iterator<E> iter)
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
以键为准,值与键位置需对应。 |
static <K,V> Map<K,V> |
toMap(Iterable<K> keys,
Iterable<V> values,
boolean isOrder)
将键列表和值列表转换为Map
以键为准,值与键位置需对应。 |
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,
Func1<E,K> keyFunc,
Func1<E,V> valueFunc)
集合转换为Map,转换规则为:
按照keyFunc函数规则根据元素对象生成Key,按照valueFunc函数规则根据元素对象生成value组成新的Map |
static <K,V> Map<K,V> |
toMap(Iterator<K> keys,
Iterator<V> values)
将键列表和值列表转换为Map
以键为准,值与键位置需对应。 |
static <K,V> Map<K,V> |
toMap(Iterator<K> keys,
Iterator<V> values,
boolean isOrder)
将键列表和值列表转换为Map
以键为准,值与键位置需对应。 |
static <K,V> Map<K,V> |
toMap(Iterator<V> iterator,
Map<K,V> map,
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
|
static <F,T> Iterator<T> |
trans(Iterator<F> iterator,
Function<? super F,? extends T> function)
|
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<?> iter)
null元素iter - 被检查的Iterable对象,如果为null 返回truenull元素public static boolean hasNull(Iterator<?> iter)
null元素iter - 被检查的Iterator对象,如果为null 返回truenull元素public static boolean isAllNull(Iterable<?> iter)
iter - iter 被检查的Iterable对象,如果为null 返回truepublic static boolean isAllNull(Iterator<?> iter)
iter - iter 被检查的Iterator对象,如果为null 返回true@Deprecated public static <T> Map<T,Integer> countMap(Iterable<T> iter)
@Deprecated public static <K,V> Map<K,V> fieldValueMap(Iterable<V> iter, String fieldName)
K - 字段名对应值得类型,不确定请使用ObjectV - 对象类型iter - 对象列表fieldName - 字段名(会通过反射获取其值)public static <K,V> Map<K,V> fieldValueMap(Iterator<V> iter, String fieldName)
K - 字段名对应值得类型,不确定请使用ObjectV - 对象类型iter - 对象列表fieldName - 字段名(会通过反射获取其值)@Deprecated public static <K,V> Map<K,V> fieldValueAsMap(Iterable<?> iterable, String fieldNameForKey, String fieldNameForValue)
K - 字段名对应值得类型,不确定请使用ObjectV - 值类型,不确定使用Objectiterable - 对象列表fieldNameForKey - 做为键的字段名(会通过反射获取其值)fieldNameForValue - 做为值的字段名(会通过反射获取其值)public static <K,V> Map<K,V> fieldValueAsMap(Iterator<?> iter, String fieldNameForKey, String fieldNameForValue)
K - 字段名对应值得类型,不确定请使用ObjectV - 值类型,不确定使用Objectiter - 对象列表fieldNameForKey - 做为键的字段名(会通过反射获取其值)fieldNameForValue - 做为值的字段名(会通过反射获取其值)public static <V> List<Object> fieldValueList(Iterable<V> iterable, String fieldName)
V - 对象类型iterable - 对象列表fieldName - 字段名(会通过反射获取其值)public static <V> List<Object> fieldValueList(Iterator<V> iter, String fieldName)
V - 对象类型iter - 对象列表fieldName - 字段名(会通过反射获取其值)@Deprecated public static <T> String join(Iterable<T> iterable, CharSequence conjunction)
T - 集合元素类型iterable - Iterableconjunction - 分隔符@Deprecated 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 <T> String join(Iterator<T> iterator, CharSequence conjunction, Function<T,? extends CharSequence> func)
T - 集合元素类型iterator - 集合conjunction - 分隔符func - 集合元素转换器,将元素转换为字符串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> iter)
E - 元素类型iter - Iteratorpublic static <E> List<E> toList(Iterator<E> iter)
E - 元素类型iter - 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对象的元素类型(通过第一个非空元素判断)iterable - Iterablepublic static Class<?> getElementType(Iterator<?> iterator)
Iterator对象的元素类型(通过第一个非空元素判断)iterator - Iteratorpublic static <T extends Iterable<E>,E> T filter(T iter, Filter<E> filter)
1、过滤出需要的对象,Filter.accept(Object)方法返回false的对象将被使用Iterator.remove()方法移除
T - 集合类型E - 集合元素类型iter - 集合filter - 过滤器接口public static <E> Iterator<E> filter(Iterator<E> iter, Filter<E> filter)
1、过滤出需要的对象,Filter.accept(Object)方法返回false的对象将被使用Iterator.remove()方法移除
E - 集合元素类型iter - 集合filter - 过滤器接口public static <K,V> Map<K,V> toMap(Iterator<V> iterator, Map<K,V> map, 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, Func1<E,K> keyFunc, 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()public static <F,T> Iterator<T> trans(Iterator<F> iterator, Function<? super F,? extends T> function)
public static int size(Iterable<?> iterable)
iterable - Iterable对象public static int size(Iterator<?> iterator)
iterator - Iterator对象Copyright © 2021. All rights reserved.