Class ArrayAdvice

java.lang.Object
develop.toolkit.base.utils.ArrayAdvice

public final class ArrayAdvice extends Object
数组增强工具
Author:
qiushui on 2020-07-17.
  • Constructor Details

    • ArrayAdvice

      public ArrayAdvice()
  • Method Details

    • contains

      public static <E> boolean contains(E[] array, Object target, Function<E,?> function)
      检查元素存在
    • contains

      public static <E> boolean contains(E[] array, Object target)
      检查元素存在
    • getFirstMatch

      public static <E> Optional<E> getFirstMatch(E[] array, Object target, Function<E,?> function)
      获得第一个匹配的元素
    • getFirstMatch

      public static <E> Optional<E> getFirstMatch(E[] array, Object target)
      获得第一个匹配的元素
    • getFirstTrue

      public static <E> Optional<E> getFirstTrue(E[] array, Predicate<E> predicate)
      获得第一个判断是true的元素
    • getFirstFalse

      public static <E> Optional<E> getFirstFalse(E[] array, Predicate<E> predicate)
      获得第一个判断是false的元素
    • getAllMatch

      public static <E> List<E> getAllMatch(E[] array, Object target, Function<E,?> function)
      获得全部匹配的元素
    • allMatch

      public static <E> boolean allMatch(E[] array, Predicate<E> predicate)
      全部匹配
    • anyMatch

      public static <E> boolean anyMatch(E[] array, Predicate<E> predicate)
      任意一个匹配
    • allAccept

      public static <E> boolean allAccept(E[] array, Function<E,?> function)
      判断所有元素的处理值相等
    • grouping

      public static <E, K, V> ListInMap<K,V> grouping(E[] array, Function<E,K> keySupplier, Function<E,V> valueSupplier)
      分组
    • grouping

      public static <K, V> ListInMap<K,V> grouping(V[] array, Function<V,K> keySupplier)
    • groupingUniqueKey

      public static <K, V> Map<K,V> groupingUniqueKey(V[] array, Function<V,K> keySupplier)
    • groupingUniqueKey

      public static <E, K, V> Map<K,V> groupingUniqueKey(E[] array, Function<E,K> keySupplier, Function<E,V> valueSupplier)
    • groupingCount

      public static <E, K> Counter<K> groupingCount(E[] array, Function<E,K> keySupplier)
      分组求数量
    • union

      @SafeVarargs public static <E> Set<E> union(E[]... arrays)
      并集
    • intersection

      @SafeVarargs public static <E> Set<E> intersection(E[] master, E[]... other)
      交集
    • difference

      public static <E> Set<E> difference(E[] master, E[] other)
      差集
    • merge

      @SafeVarargs public static <E> E[] merge(Class<E> clazz, E[]... arrays)
      合并多数组
    • associate

      public static <E, T> ListInMap<E,T> associate(E[] master, T[] target, BiPredicate<E,T> predicate)
      关联 将集合target按条件与集合master配对
    • associateOne

      public static <E, T> KeyValuePairs<E,T> associateOne(E[] master, T[] target, BiPredicate<E,T> predicate)
      关联 (明确是单个的) 将集合target按条件与集合master配对
    • partition

      public static <E> TwoValues<List<E>,List<E>> partition(E[] collection, Predicate<E> predicate)
      划分 按条件把集合拆分成满足条件和不满足条件的两个集合
    • zip

      public static <T, S> List<TwoValues<T,S>> zip(T[] master, S[] other)
      压缩 将两个集合的元素按索引捆绑到一起
    • pagingProcess

      public static <T> void pagingProcess(T[] array, int size, ArrayAdvice.PagingProcessor<T> consumer)
      分页处理
    • pagingProcess

      public static <T, R> R pagingProcess(T[] array, int size, R initialValue, BiFunction<R,R,R> reduceFunction, ArrayAdvice.PagingReduceProcessor<T,R> consumer)
      分页处理
    • sort

      public static <T, S> List<T> sort(T[] master, S[] sortTarget, BiPredicate<T,S> predicate)
      指定排序 把master的元素值按sortTarget的元素值排序,条件按predicate
    • sort

      public static <T, S> List<T> sort(T[] master, Collection<S> sortTarget, BiPredicate<T,S> predicate)