Constructor and Description |
---|
IterUtil() |
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> iter)
Deprecated.
如果对象同时实现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)
Deprecated.
如果对象同时实现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)
Deprecated.
如果对象同时实现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实现可以实现以下功能: |
static <T extends Iterable<E>,E> |
filter(T iter,
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<?> 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 |
isNotEmpty(Iterable<?> iterable)
Iterable是否为空
|
static boolean |
isNotEmpty(Iterator<?> Iterator)
Iterator是否为空
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction)
Deprecated.
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.join
|
static <T> String |
join(Iterable<T> iterable,
CharSequence conjunction,
String prefix,
String suffix)
Deprecated.
如果对象同时实现Iterable和Iterator接口会产生歧义,请使用CollUtil.join
|
static <T> String |
join(Iterator<T> iterator,
CharSequence conjunction)
|
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
以键为准,值与键位置需对应。如果键元素数多于值元素,多余部分值用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,
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
以键为准,值与键位置需对应。如果键元素数多于值元素,多余部分值用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,
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
- Iterable
conjunction
- 分隔符@Deprecated public static <T> String join(Iterable<T> iterable, CharSequence conjunction, String prefix, String suffix)
T
- 集合元素类型iterable
- Iterable
conjunction
- 分隔符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> iter)
E
- 元素类型iter
- Iterator
public static <E> List<E> toList(Iterator<E> iter)
E
- 元素类型iter
- Iterator
public static <E> Iterator<E> asIterator(Enumeration<E> e)
Adapt the specified Enumeration
to the Iterator
interface
E
- 集合元素类型e
- Enumeration
Iterator
public static <T> T getFirst(Iterable<T> iterable)
T
- 集合元素类型iterable
- Iterable
public static <T> T getFirst(Iterator<T> iterator)
T
- 集合元素类型iterator
- Iterator
public static Class<?> getElementType(Iterable<?> iterable)
Iterable
对象的元素类型(通过第一个非空元素判断)iterable
- Iterable
public static Class<?> getElementType(Iterator<?> iterator)
Iterator
对象的元素类型(通过第一个非空元素判断)iterator
- Iterator
public 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.