public class IterableUtils
extends java.lang.Object
| 构造器和说明 |
|---|
IterableUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <Item,Key,Part> |
aggregate(java.lang.Iterable<Item> target,
java.util.Map<Key,Part> partMap,
java.util.function.Function<Item,Key> keyGetter,
java.util.function.BiConsumer<Item,Part> partSetter)
合计
|
static <Item,Key,Part> |
aggregate(java.util.Map<Key,Item> target,
java.lang.Iterable<Part> parts,
java.util.function.Function<Part,Key> keyGetter,
java.util.function.BiConsumer<Item,Part> partSetter)
合计
|
static <Item,Key,Part> |
aggregate(java.util.Map<Key,Item> target,
java.util.Map<Key,Part> partMap,
java.util.function.BiConsumer<Item,Part> partSetter)
合计
|
static <T,R,A> R |
collect(java.lang.Iterable<T> it,
java.util.stream.Collector<? super T,A,R> collector) |
static <T,R,A> R |
collect(java.util.Iterator<T> it,
java.util.stream.Collector<? super T,A,R> collector) |
static <T,R,A> R |
collect(java.util.stream.Stream<? extends T> it,
java.util.stream.Collector<? super T,A,R> collector) |
static <T,R,A> R |
collect(T[] it,
java.util.stream.Collector<? super T,A,R> collector) |
static <T> int |
count(java.lang.Iterable<T> iterable)
对Iterable进行计数
|
static <T> int |
count(java.util.Iterator<T> iterator)
对Iterator进行计数
会将该Iterator剩余元素全部遍历一次
|
static <T,K> DifferenceView<java.util.List<T>> |
difference(java.util.List<T> leftList,
java.util.List<T> rightList)
对比两个集合的差异
|
static <T,K> DifferenceView<java.util.List<T>> |
difference(java.util.List<T> leftList,
java.util.List<T> rightList,
java.util.function.Function<T,K> identityMapper)
对比两个集合的差异
|
static <T> DifferenceView<java.util.Set<T>> |
difference(java.util.Set<T> leftList,
java.util.Set<T> rightList)
对比两个集合的差异
|
static <T,K> DifferenceView<java.util.Set<T>> |
difference(java.util.Set<T> leftList,
java.util.Set<T> rightList,
java.util.function.Function<T,K> identityMapper)
对比两个集合的差异
|
static <T> void |
distinct(java.lang.Iterable<T> it)
去重
|
static <T,K> void |
distinct(java.lang.Iterable<T> it,
java.util.function.Function<T,K> distinctKey)
去重
|
static <T> java.util.List<T> |
filter(java.lang.Iterable<T> it,
java.util.function.Predicate<T> test) |
static <T> java.util.Optional<T> |
findFirst(java.lang.Iterable<T> it,
java.util.function.Predicate<T> test) |
static <T,R> java.util.List<R> |
flatToList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T,R> java.util.List<R> |
flatToList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T,R> java.util.List<R> |
flatToList(T[] it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T,R> java.util.Set<R> |
flatToSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T,R> java.util.Set<R> |
flatToSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T,R> java.util.Set<R> |
flatToSet(T[] it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func) |
static <T> void |
forEach(java.util.function.Consumer<T> consumer,
java.lang.Iterable<T>... its) |
static <T> T |
getFirstElement(java.lang.Iterable<T> it)
返回集合第一个元素(无序集合返回值不固定)
|
static <T> T |
getLastElement(java.lang.Iterable<T> it)
获取最后一个元素
|
static <T,K,V> java.util.Map<K,java.util.List<V>> |
groupingBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper) |
static <T,R> java.util.Map<R,java.util.List<T>> |
groupingBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,K,V> java.util.Map<K,java.util.List<V>> |
groupingBy(java.util.Iterator<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper) |
static <T,R> java.util.Map<R,java.util.List<T>> |
groupingBy(java.util.Iterator<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,K,V> java.util.Map<K,java.util.List<V>> |
groupingBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper) |
static <T,R> java.util.Map<R,java.util.List<T>> |
groupingBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,K,V> java.util.Map<K,java.util.List<V>> |
groupingBy(java.util.stream.Stream<? extends T> it,
java.util.Map<K,java.util.List<V>> resultContainer,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper) |
static <T,K,V> java.util.Map<K,java.util.List<V>> |
groupingBy(T[] it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper) |
static <T,R> java.util.Map<R,java.util.List<T>> |
groupingBy(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T> boolean |
isNotNullOrEmpty(java.lang.Iterable<? extends T> it) |
static <T> boolean |
isNullOrEmpty(java.lang.Iterable<? extends T> it) |
static <T extends java.lang.Comparable> |
max(java.lang.Iterable<? extends T> it) |
static <T> T |
max(java.lang.Iterable<T> it,
java.util.Comparator<T> comparator) |
static <T extends java.lang.Comparable> |
max(java.util.stream.Stream<? extends T> it) |
static <T> T |
max(java.util.stream.Stream<T> it,
java.util.Comparator<T> comparator) |
static <T extends java.lang.Comparable> |
max(T[] it) |
static <T> T |
max(T[] it,
java.util.Comparator<T> comparator) |
static <T extends java.lang.Comparable> |
min(java.lang.Iterable<? extends T> it) |
static <T> T |
min(java.lang.Iterable<T> it,
java.util.Comparator<T> comparator) |
static <T extends java.lang.Comparable> |
min(java.util.stream.Stream<? extends T> it) |
static <T> T |
min(java.util.stream.Stream<T> it,
java.util.Comparator<T> comparator) |
static <T extends java.lang.Comparable> |
min(T[] it) |
static <T> T |
min(T[] it,
java.util.Comparator<T> comparator) |
static <T,K> java.util.List<T> |
sortByKeys(java.lang.Iterable<T> list,
java.util.Collection<K> sortedKeys,
java.util.function.Function<T,K> keyMapper)
按照给定的顺序排序
sortedKeys中没有的元素,会被过滤掉
|
static <T> void |
sum(java.lang.Iterable<T> it,
T container,
java.util.function.Predicate<java.lang.reflect.Field> fieldFilter,
ObjectSumFunction<T> sumFunction)
将多个对象合计到一个对象里
|
static <T> java.util.List<T> |
toDistinctedList(java.lang.Iterable<? extends T> it) |
static <T,R> java.util.List<R> |
toDistinctedList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T,R> java.util.List<R> |
toDistinctedList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T,R> java.util.List<T> |
toDistinctedListBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T,R> java.util.List<T> |
toDistinctedListBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T> java.util.List<T> |
toList(java.lang.Iterable<? extends T> it) |
static <T,R> java.util.List<R> |
toList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T> java.util.List<T> |
toList(java.util.stream.Stream<? extends T> it) |
static <T,R> java.util.List<R> |
toList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func) |
static <T> java.util.List<T> |
toList(T[] it) |
static <T,R> java.util.List<R> |
toList(T[] it,
java.util.function.Function<? super T,R> func) |
static <T,R> java.util.Map<R,T> |
toMap(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,R,X> java.util.Map<R,X> |
toMap(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper) |
static <T,R> java.util.Map<R,T> |
toMap(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,R,X> java.util.Map<R,X> |
toMap(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper) |
static <T,R> java.util.Map<R,T> |
toMap(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper) |
static <T,R,X> java.util.Map<R,X> |
toMap(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper) |
static <T> java.util.Set<T> |
toSet(java.lang.Iterable<? extends T> it) |
static <T,R> java.util.Set<R> |
toSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> func) |
static <T,R> java.util.Set<R> |
toSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> func,
java.util.function.Predicate<? super T> predicate) |
static <T> java.util.Set<T> |
toSet(java.util.stream.Stream<? extends T> it) |
static <T,R> java.util.Set<R> |
toSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> func) |
static <T,R> java.util.Set<R> |
toSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> func,
java.util.function.Predicate<? super T> predicate) |
static <T> java.util.Set<T> |
toSet(T[] it) |
static <T,R> java.util.Set<R> |
toSet(T[] it,
java.util.function.Function<? super T,? extends R> func) |
static <T> java.util.stream.Stream<T> |
toStream(java.lang.Iterable<T> it,
java.lang.Iterable<T>... its) |
static <T> java.util.stream.Stream<T> |
toStream(java.util.Iterator<T> it,
java.util.Iterator<T>... its) |
static <T> java.util.stream.Stream<T> |
toStream(java.util.stream.Stream<T> s,
java.util.stream.Stream<T>... ss) |
static <T> java.util.stream.Stream<T> |
toStream(T[] it,
T[]... its) |
public static <T,K> java.util.List<T> sortByKeys(@Nullable java.lang.Iterable<T> list, @Nonnull java.util.Collection<K> sortedKeys, @Nonnull java.util.function.Function<T,K> keyMapper)
T - K - list - 经过keyMapper映射,不能用重复的keysortedKeys - keyMapper - public static <T> void sum(java.lang.Iterable<T> it,
T container,
java.util.function.Predicate<java.lang.reflect.Field> fieldFilter,
ObjectSumFunction<T> sumFunction)
T - it - container - fieldFilter - sumFunction - public static <T> int count(java.util.Iterator<T> iterator)
T - iterator - public static <T> int count(java.lang.Iterable<T> iterable)
T - iterable - public static <T> DifferenceView<java.util.Set<T>> difference(java.util.Set<T> leftList, java.util.Set<T> rightList)
T - leftList - rightList - public static <T,K> DifferenceView<java.util.Set<T>> difference(java.util.Set<T> leftList, java.util.Set<T> rightList, java.util.function.Function<T,K> identityMapper)
T - K - leftList - rightList - identityMapper - public static <T,K> DifferenceView<java.util.List<T>> difference(java.util.List<T> leftList, java.util.List<T> rightList)
T - K - leftList - rightList - public static <T,K> DifferenceView<java.util.List<T>> difference(java.util.List<T> leftList, java.util.List<T> rightList, java.util.function.Function<T,K> identityMapper)
T - K - leftList - rightList - identityMapper - public static <T> void forEach(java.util.function.Consumer<T> consumer,
java.lang.Iterable<T>... its)
public static <T> void distinct(java.lang.Iterable<T> it)
T - it - public static <T,K> void distinct(java.lang.Iterable<T> it,
java.util.function.Function<T,K> distinctKey)
T - K - it - distinctKey - public static <T> boolean isNullOrEmpty(java.lang.Iterable<? extends T> it)
public static <T> boolean isNotNullOrEmpty(java.lang.Iterable<? extends T> it)
public static <T> T getLastElement(java.lang.Iterable<T> it)
T - it - public static <T> T getFirstElement(java.lang.Iterable<T> it)
T - it - public static <T> java.util.List<T> filter(java.lang.Iterable<T> it,
java.util.function.Predicate<T> test)
public static <T> java.util.Optional<T> findFirst(java.lang.Iterable<T> it,
java.util.function.Predicate<T> test)
public static <Item,Key,Part> void aggregate(java.util.Map<Key,Item> target,
java.util.Map<Key,Part> partMap,
java.util.function.BiConsumer<Item,Part> partSetter)
Item - Key - Part - target - partMap - partSetter - public static <Item,Key,Part> void aggregate(java.util.Map<Key,Item> target,
java.lang.Iterable<Part> parts,
java.util.function.Function<Part,Key> keyGetter,
java.util.function.BiConsumer<Item,Part> partSetter)
Item - Key - Part - target - parts - keyGetter - partSetter - public static <Item,Key,Part> void aggregate(java.lang.Iterable<Item> target,
java.util.Map<Key,Part> partMap,
java.util.function.Function<Item,Key> keyGetter,
java.util.function.BiConsumer<Item,Part> partSetter)
Item - Key - Part - target - partMap - keyGetter - partSetter - public static <T,R> java.util.Map<R,java.util.List<T>> groupingBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R> java.util.Map<R,java.util.List<T>> groupingBy(java.util.Iterator<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R> java.util.Map<R,java.util.List<T>> groupingBy(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R> java.util.Map<R,java.util.List<T>> groupingBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,K,V> java.util.Map<K,java.util.List<V>> groupingBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper)
public static <T,K,V> java.util.Map<K,java.util.List<V>> groupingBy(java.util.Iterator<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper)
public static <T,K,V> java.util.Map<K,java.util.List<V>> groupingBy(T[] it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper)
public static <T,K,V> java.util.Map<K,java.util.List<V>> groupingBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper)
public static <T,K,V> java.util.Map<K,java.util.List<V>> groupingBy(java.util.stream.Stream<? extends T> it,
java.util.Map<K,java.util.List<V>> resultContainer,
java.util.function.Function<? super T,? extends K> keyMapper,
java.util.function.Function<? super T,? extends V> valueMapper)
public static <T,R,A> R collect(T[] it,
java.util.stream.Collector<? super T,A,R> collector)
public static <T,R,A> R collect(java.lang.Iterable<T> it,
java.util.stream.Collector<? super T,A,R> collector)
public static <T,R,A> R collect(java.util.Iterator<T> it,
java.util.stream.Collector<? super T,A,R> collector)
public static <T,R,A> R collect(java.util.stream.Stream<? extends T> it,
java.util.stream.Collector<? super T,A,R> collector)
public static <T> java.util.Set<T> toSet(java.lang.Iterable<? extends T> it)
public static <T> java.util.Set<T> toSet(T[] it)
public static <T> java.util.Set<T> toSet(java.util.stream.Stream<? extends T> it)
public static <T,R> java.util.Set<R> toSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> func)
public static <T,R> java.util.Set<R> toSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> func,
java.util.function.Predicate<? super T> predicate)
public static <T,R> java.util.Set<R> toSet(T[] it,
java.util.function.Function<? super T,? extends R> func)
public static <T,R> java.util.Set<R> toSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> func)
public static <T,R> java.util.Set<R> toSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> func,
java.util.function.Predicate<? super T> predicate)
public static <T,R> java.util.List<R> flatToList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T,R> java.util.List<R> flatToList(T[] it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T,R> java.util.List<R> flatToList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T,R> java.util.Set<R> flatToSet(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T,R> java.util.Set<R> flatToSet(T[] it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T,R> java.util.Set<R> flatToSet(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,java.lang.Iterable<R>> func)
public static <T> java.util.List<T> toList(java.lang.Iterable<? extends T> it)
public static <T> java.util.List<T> toList(T[] it)
public static <T> java.util.List<T> toList(java.util.stream.Stream<? extends T> it)
public static <T,R> java.util.List<R> toList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.List<R> toList(T[] it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.List<R> toList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T> java.util.List<T> toDistinctedList(java.lang.Iterable<? extends T> it)
public static <T,R> java.util.List<R> toDistinctedList(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.List<R> toDistinctedList(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.List<T> toDistinctedListBy(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.List<T> toDistinctedListBy(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,R> func)
public static <T,R> java.util.Map<R,T> toMap(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R> java.util.Map<R,T> toMap(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R> java.util.Map<R,T> toMap(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper)
public static <T,R,X> java.util.Map<R,X> toMap(java.lang.Iterable<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper)
public static <T,R,X> java.util.Map<R,X> toMap(T[] it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper)
public static <T,R,X> java.util.Map<R,X> toMap(java.util.stream.Stream<? extends T> it,
java.util.function.Function<? super T,? extends R> keyMapper,
java.util.function.Function<? super T,? extends X> valueMapper)
public static <T> java.util.stream.Stream<T> toStream(java.util.Iterator<T> it,
java.util.Iterator<T>... its)
public static <T> java.util.stream.Stream<T> toStream(java.lang.Iterable<T> it,
java.lang.Iterable<T>... its)
public static <T> java.util.stream.Stream<T> toStream(T[] it,
T[]... its)
public static <T> java.util.stream.Stream<T> toStream(java.util.stream.Stream<T> s,
java.util.stream.Stream<T>... ss)
public static <T extends java.lang.Comparable> T max(java.lang.Iterable<? extends T> it)
public static <T extends java.lang.Comparable> T max(T[] it)
public static <T extends java.lang.Comparable> T max(java.util.stream.Stream<? extends T> it)
public static <T> T max(java.lang.Iterable<T> it,
java.util.Comparator<T> comparator)
public static <T> T max(T[] it,
java.util.Comparator<T> comparator)
public static <T> T max(java.util.stream.Stream<T> it,
java.util.Comparator<T> comparator)
public static <T extends java.lang.Comparable> T min(java.lang.Iterable<? extends T> it)
public static <T extends java.lang.Comparable> T min(T[] it)
public static <T extends java.lang.Comparable> T min(java.util.stream.Stream<? extends T> it)
public static <T> T min(java.lang.Iterable<T> it,
java.util.Comparator<T> comparator)
public static <T> T min(T[] it,
java.util.Comparator<T> comparator)
public static <T> T min(java.util.stream.Stream<T> it,
java.util.Comparator<T> comparator)