Package 

Class CollectionExtensions

    • Constructor Detail

    • Method Detail

      • times

         final static <T extends Any> List<T> times(List<T> $self, Integer n)

        重复当前列表中的元素到指定次数。

      • get

         final static <T extends Any> List<T> get(List<T> $self, IntRange indices)

        得到索引指定范围内的子列表。

      • get

         final static <T extends Any> List<T> get(List<T> $self, Integer startIndex, Integer endIndex)

        得到索引指定范围内的子列表。

      • repeat

         final static <T extends Any> List<T> repeat(List<T> $self, Integer n)

        重复当前列表中的元素到指定次数。

      • mapOfValuesNotNull

         final static <K extends Any, V extends Any> Map<K, V> mapOfValuesNotNull(Pair<K, V> pair)

        构建一个映射并事先过滤值为空的键值对。

      • mapOfValuesNotNull

         final static <K extends Any, V extends Any> Map<K, V> mapOfValuesNotNull(Pair<K, V> pairs)

        构建一个映射并事先过滤值为空的键值对。

      • enumSetOf

         final static <T extends Enum<T>> EnumSet<T> enumSetOf(T first, T elements)

        构建一个枚举集。

      • enumSetOfAll

         final static <T extends Enum<T>> EnumSet<T> enumSetOfAll()

        构建一个包含所有枚举值的枚举集。

      • enumMapOf

         final static <K extends Enum<K>, V extends Any> EnumMap<K, V> enumMapOf()

        构建一个空的枚举映射。

      • contentEquals

         final static <T extends Any> Boolean contentEquals(List<T> $self, List<T> other)

        判断两个列表的结构是否相等。即,判断长度、元素、元素顺序是否相等。

      • contentDeepEquals

         final static <T extends Any> Boolean contentDeepEquals(List<T> $self, List<T> other)

        判断两个列表的结构是否递归相等。即,判断长度、元素、元素顺序是否递归相等。

      • allIn

         final static <T extends Any> Boolean allIn(Array<out T> $self, Array<out T> other)

        判断当前数组中的所有元素是否被另一数组包含。

      • allIn

         final static <T extends Any> Boolean allIn(Array<out T> $self, Iterable<T> other)

        判断当前数组中的所有元素是否被另一集合包含。

      • allIn

         final static <T extends Any> Boolean allIn(Iterable<T> $self, Array<out T> other)

        判断当前集合中的所有元素是否被另一数组包含。

      • allIn

         final static <T extends Any> Boolean allIn(Iterable<T> $self, Iterable<T> other)

        判断当前集合中的所有元素是否被另一集合包含。

      • allIn

         final static <T extends Any> Boolean allIn(Sequence<T> $self, Sequence<T> other)

        判断当前序列中的所有元素是否被另一序列包含。

      • anyIn

         final static <T extends Any> Boolean anyIn(Array<out T> $self, Array<out T> other)

        判断当前数组中的任意元素是否被另一数组包含。

      • anyIn

         final static <T extends Any> Boolean anyIn(Array<out T> $self, Iterable<T> other)

        判断当前数组中的任意元素是否被另一集合包含。

      • anyIn

         final static <T extends Any> Boolean anyIn(Iterable<T> $self, Array<out T> other)

        判断当前集合中的任意元素是否被另一数组包含。

      • anyIn

         final static <T extends Any> Boolean anyIn(Iterable<T> $self, Iterable<T> other)

        判断当前集合中的任意元素是否被另一集合包含。

      • anyIn

         final static <T extends Any> Boolean anyIn(Sequence<T> $self, Sequence<T> other)

        判断当前序列中的任意元素是否被另一序列包含。

      • startsWith

         final static <T extends Any> Boolean startsWith(Array<out T> $self, T element)

        判断当前数组是否以指定元素开始。

      • startsWith

         final static <T extends Any> Boolean startsWith(Array<out T> $self, Array<out T> elements)

        判断当前数组是否以任意指定元素开始。

      • startsWith

         final static <T extends Any> Boolean startsWith(Iterable<T> $self, T element)

        判断当前集合是否以指定元素开始。

      • startsWith

         final static <T extends Any> Boolean startsWith(Sequence<T> $self, T element)

        判断当前序列是否以指定元素开始。

      • endsWith

         final static <T extends Any> Boolean endsWith(Array<out T> $self, T element)

        判断当前数组是否以指定元素结束。

      • endsWith

         final static <T extends Any> Boolean endsWith(Array<out T> $self, Array<out T> elements)

        判断当前数组是否以任意指定元素结束。

      • endsWith

         final static <T extends Any> Boolean endsWith(Iterable<T> $self, T element)

        判断当前集合是否以指定元素结束。

      • endsWith

         final static <T extends Any> Boolean endsWith(Iterable<T> $self, Array<out T> elements)

        判断当前集合是否以任意指定元素结束。

      • getOrDefault

         final static <T extends Any> T getOrDefault(Array<out T> $self, Integer index, T defaultValue)

        得到指定索引的元素,发生异常则得到默认值。

      • getOrDefault

         final static <T extends Any> T getOrDefault(List<T> $self, Integer index, T defaultValue)

        得到指定索引的元素,发生异常则得到默认值。

      • put

         final static <K extends Any, V extends Any> V put(Map<K, V> $self, Pair<K, V> pair)

        将指定的键值对放入当前映射中。

      • swap

         final static <T extends Any> Unit swap(Array<T> $self, Integer index1, Integer index2)

        交换当前数组中指定的两个索引对应的元素。

      • swap

         final static <T extends Any> Unit swap(List<T> $self, Integer index1, Integer index2)

        交换当前列表中指定的两个索引对应的元素。

      • fillRange

         final static <T extends Any> Unit fillRange(List<T> $self, IntRange indices, T value)

        填充指定索引范围内的元素到当前列表。如果索引超出当前列表的长度,或为负数,则忽略。

      • fillStart

         final static <T extends Any> List<T> fillStart(List<T> $self, Integer size, T value)

        填充指定元素到当前列表之前,直到指定长度。如果指定长度比当前长度小,则切割当前列表。返回填充后的列表。

      • fillEnd

         final static <T extends Any> List<T> fillEnd(List<T> $self, Integer size, T value)

        填充指定元素到当前列表之后,直到指定长度。如果指定长度比当前长度小,则切割当前列表。返回填充后的列表。

      • moveAt

         final static <T extends Any> T moveAt(List<T> $self, Integer fromIndex, Integer toIndex)

        将指定索引的元素插入到另一索引处。注意后者为移动前的索引,而非移动后的索引。

      • moveAllAt

         final static <T extends Any> Unit moveAllAt(List<T> $self, IntRange fromIndices, Integer toIndex)

        将指定索引范围内的元素插入到以另一索引为起点处。注意后者为移动前的索引,而非移动后的索引。

      • joinTo

         final static <K extends Any, V extends Any, A extends Appendable> A joinTo(Map<K, V> $self, A buffer, CharSequence separator, CharSequence prefix, CharSequence postfix, Integer limit, CharSequence truncated, Function1<Entry.Map<K, V>, CharSequence> transform)

        Appends the string from all the entries separated using separator and using the given prefix and postfix if supplied.

        If the map could be huge, you can specify a non-negative value of limit, in which case only the first limit elements will be appended, followed by the truncated string (which defaults to "...").

        The default entry format is $key=$value.

      • joinToString

         final static <K extends Any, V extends Any> String joinToString(Map<K, V> $self, CharSequence separator, CharSequence prefix, CharSequence postfix, Integer limit, CharSequence truncated, Function1<Entry.Map<K, V>, CharSequence> transform)

        Creates a string from all the entries separated using separator and using the given prefix and postfix if supplied.

        If the map could be huge, you can specify a non-negative value of limit, in which case only the first limit elements will be appended, followed by the truncated string (which defaults to "...").

        The default entry format is $key=$value.

      • mapToArray

         final static <T extends Any, R extends Any> Array<R> mapToArray(List<T> $self, Function1<T, R> transform)

        Returns a array containing the results of applying the given transform function to each element in the original list.

      • mapToArray

         final static <T extends Any, R extends Any> Array<R> mapToArray(Set<T> $self, Function1<T, R> transform)

        Returns a array containing the results of applying the given transform function to each element in the original set.

      • mapValuesNotNull

         final static <K extends Any, V extends Any, R extends Any> Map<K, R> mapValuesNotNull(Map<out K, V> $self, Function1<V, R> transform)

        映射当前映射中的值,并过滤转化后为null的值。

      • mapValuesNotNullTo

         final static <K extends Any, V extends Any, R extends Any, M extends MutableMap<in K, in R>> M mapValuesNotNullTo(Map<K, V> $self, M destination, Function1<V, R> transform)

        映射当前映射中的值,并过滤转化后为null的值,然后加入指定的映射。

      • filterValuesNotNull

         final static <K extends Any, V extends Any> Map<K, V> filterValuesNotNull(Map<out K, V> $self)

        过滤当前映射中值为null的键值对。

      • filterValuesNotNullTo

         final static <K extends Any, V extends Any, M extends MutableMap<in K, in V>> M filterValuesNotNullTo(Map<out K, V> $self, M destination)

        过滤当前映射中值为null的键值对,然后加入指定的映射。

      • bind

         final static <T extends Any, R extends Any> List<Pair<T, R>> bind(Array<out T> $self, Array<out R> other, Function2<T, R, Boolean> predicate)

        根据指定的条件,绑定当前数组和另一个数组中的元素,以当前数组长度为准,过滤不满足的情况。

      • bind

         final static <T extends Any, R extends Any> List<Pair<T, R>> bind(Array<out T> $self, Iterable<R> other, Function2<T, R, Boolean> predicate)

        根据指定的条件,绑定当前数组和另一个集合中的元素,以当前数组长度为准,过滤不满足的情况。

      • bind

         final static <T extends Any, R extends Any> List<Pair<T, R>> bind(Iterable<T> $self, Array<out R> other, Function2<T, R, Boolean> predicate)

        根据指定的条件,绑定当前集合和另一个数组中的元素,以当前数组长度为准,过滤不满足的情况。

      • bind

         final static <T extends Any, R extends Any> List<Pair<T, R>> bind(Iterable<T> $self, Iterable<R> other, Function2<T, R, Boolean> predicate)

        根据指定的条件,绑定当前集合和另一个集合中的元素,以当前数组长度为准,过滤不满足的情况。

      • bind

         final static <T extends Any, R extends Any> Sequence<Pair<T, R>> bind(Sequence<T> $self, Sequence<R> other, Function2<T, R, Boolean> predicate)

        根据指定的条件,绑定当前序列和另一个序列中的元素,以当前数组长度为准,过滤不满足的情况。

      • collapse

         final static <T extends Any, L extends Comparable<L>> List<List<T>> collapse(List<T> $self, Function1<T, L> levelSelector)

        根据指定的级别选择器,按级别从低到高向下折叠集合中的元素,返回包含完整的级别从低到高的元素组的列表。 级别从1开始。

      • expand

         final static <T extends Any> List<T> expand(List<T> $self, Function1<T, Iterable<T>> operation)

        根据指定的操作,遍历当前列表,递归展开并收集遍历过程中的每一个元素,直到结果为空为止,返回收集到的元素的列表。

      • select

         final static <T extends Any, K extends Any> List<T> select(Iterable<T> $self, K keys, Function1<T, K> keySelector)

        根据指定的一组键以及键选择器,选择当前集合中的元素,返回选择后的新列表。保持原有顺序,并覆盖先选择的元素。

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Array<?> $self, Integer depth)

        根据指定的深度递归平滑化当前数组。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Array<?> $self)

        根据指定的深度递归平滑化当前数组。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Iterable<?> $self, Integer depth)

        根据指定的深度递归平滑化当前集合。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Iterable<?> $self)

        根据指定的深度递归平滑化当前集合。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Sequence<?> $self, Integer depth)

        根据指定的深度递归平滑化当前序列。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • deepFlatten

         final static <T extends Any> List<T> deepFlatten(Sequence<?> $self)

        根据指定的深度递归平滑化当前序列。 如果指定了深度,则会递归映射到该深度,或者直到找不到集合类型的元素为止。默认不指定深度。

        支持ArrayIterableSequence

      • asMutable

         final static <T extends Any> List<T> asMutable(List<T> $self)

        将当前列表转化为可变列表。如果当前列表本身就是可变列表,则直接返回。

      • asMutable

         final static <T extends Any> Set<T> asMutable(Set<T> $self)

        将当前集转化为可变集。如果当前集本身就是可变集,则直接返回。

      • asImmutable

         final static <T extends Any> List<T> asImmutable(List<T> $self)

        将当前列表转化为不可变列表。如果当前列表的元素数量大于1,则直接返回。

      • asImmutable

         final static <T extends Any> Set<T> asImmutable(Set<T> $self)

        将当前集转化为不可变集。如果当前集的元素数量大于1,则直接返回。

      • toSingletonList

         final static <T extends Any> List<T> toSingletonList(T $self, Boolean orEmpty)

        将当前对象转化为单例列表。

        如果当前对象为null且参数orEmpty为true,则会返回空列表。

      • toSingletonSet

         final static <T extends Any> Set<T> toSingletonSet(T $self, Boolean orEmpty)

        将当前对象转化为单例集。

        如果当前对象为null且参数orEmpty为true,则会返回空集。

      • toSingletonMap

         final static <K extends Any, V extends Any> Map<K, V> toSingletonMap(Pair<K, V> $self, Boolean orEmpty)

        将当前二元素元组转化为单例映射。

        如果当前二元素元组其中对应的键或值为null且参数orEmpty为true,则会返回空映射。

      • toSingletonMap

         final static <K extends Any, V extends Any> Map<K, V> toSingletonMap(Entry.Map<K, V> $self, Boolean orEmpty)

        将当前映射入口转化为单例映射。

        如果当前映射入口其中对应的键或值为null且参数orEmpty为true,则会返回空映射。

      • toMutableMap

         final static <K extends Any, V extends Any> Map<K, V> toMutableMap(Array<out Pair<K, V>> $self)

        将当前键值对数组转化为新的可变映射。

      • toMutableMap

         final static <K extends Any, V extends Any> Map<K, V> toMutableMap(Iterable<Pair<K, V>> $self)

        将当前键值对列表转化为新的可变映射。

      • toMutableMap

         final static <K extends Any, V extends Any> Map<K, V> toMutableMap(Sequence<Pair<K, V>> $self)

        将当前键值对序列转化为新的可变映射。

      • toStringKeyMap

         final static <K extends Any, V extends Any> Map<String, V> toStringKeyMap(Map<K, V> $self)

        将当前映射转化为新的以字符串为键的映射。

      • getOrEmpty

         final static <K extends Any> String getOrEmpty(Map<K, String> $self, K key)

        得到指定键的字符串,如果值为null,则返回空字符串。