程序包 dev.utils.common

类 CollectionUtils

java.lang.Object
dev.utils.common.CollectionUtils

public final class CollectionUtils extends Object
detail: 集合工具类 ( Collection - List、Set、Queue ) 等
作者:
Ttt
     // 升序
     Collections.sort(list);
     // 降序
     Collections.sort(list, Collections.reverseOrder());
     // 逆序
     Collections.reverse(list);
     // 创建不可修改集合
     Collections.unmodifiableList()
     Arrays.asList()
 
  • 方法详细资料

    • isEmpty

      public static boolean isEmpty(Collection<?> collection)
      判断 Collection 是否为 null
      参数:
      collection - Collection
      返回:
      true yes, false no
    • isNotEmpty

      public static boolean isNotEmpty(Collection<?> collection)
      判断 Collection 是否不为 null
      参数:
      collection - Collection
      返回:
      true yes, false no
    • length

      public static int length(Collection<?> collection)
      获取 Collection 长度
      参数:
      collection - Collection
      返回:
      如果 Collection 为 null, 则返回默认长度, 如果不为 null, 则返回 collection.size()
    • length

      public static int length(Collection<?> collection, int defaultLength)
      获取 Collection 长度
      参数:
      collection - Collection
      defaultLength - 集合为 null 默认长度
      返回:
      如果 Collection 为 null, 则返回 defaultLength, 如果不为 null, 则返回 collection.size()
    • isLength

      public static boolean isLength(Collection<?> collection, int length)
      获取长度 Collection 是否等于期望长度
      参数:
      collection - Collection
      length - 期望长度
      返回:
      true yes, false no
    • greaterThan

      public static boolean greaterThan(Collection<?> collection, int length)
      判断 Collection 长度是否大于指定长度
      参数:
      collection - Collection
      length - 指定长度
      返回:
      true yes, false no
    • greaterThanOrEqual

      public static boolean greaterThanOrEqual(Collection<?> collection, int length)
      判断 Collection 长度是否大于等于指定长度
      参数:
      collection - Collection
      length - 指定长度
      返回:
      true yes, false no
    • lessThan

      public static boolean lessThan(Collection<?> collection, int length)
      判断 Collection 长度是否小于指定长度
      参数:
      collection - Collection
      length - 指定长度
      返回:
      true yes, false no
    • lessThanOrEqual

      public static boolean lessThanOrEqual(Collection<?> collection, int length)
      判断 Collection 长度是否小于等于指定长度
      参数:
      collection - Collection
      length - 指定长度
      返回:
      true yes, false no
    • getCount

      public static int getCount(Collection<?>... collections)
      获取 Collection 数组长度总和
      参数:
      collections - Collection[]
      返回:
      Collection 数组长度总和
    • get

      public static <T> T get(Collection<T> collection, int pos)
      获取数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      pos - 索引
      返回:
      对应索引的值
    • getFirst

      public static <T> T getFirst(Collection<T> collection)
      获取第一条数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      索引为 0 的值
    • getLast

      public static <T> T getLast(Collection<T> collection)
      获取最后一条数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      索引 length - 1 的值
    • get

      public static <T> T get(Collection<T> collection, T value, int number, boolean notNull, int offset)
      根据指定 value 获取 value 所在位置 + 偏移量的值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      notNull - 是否不允许值为 null
      offset - 偏移量
      返回:
      对应索引的值
    • getPosition

      public static <T> int getPosition(Collection<T> collection, T value, int number, boolean notNull, int offset)
      根据指定 value 获取 value 所在位置 + 偏移量的索引
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      notNull - 是否不允许值为 null
      offset - 偏移量
      返回:
      对应的索引
    • getPosition

      public static <T> int getPosition(Collection<T> collection, T value)
      根据指定 value 获取索引
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应的索引
    • getPosition

      public static <T> int getPosition(Collection<T> collection, T value, int number)
      根据指定 value 获取索引
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应的索引
    • getPosition

      public static <T> int getPosition(Collection<T> collection, T value, boolean notNull)
      根据指定 value 获取索引
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      notNull - 是否不允许值为 null
      返回:
      对应的索引
    • getPosition

      public static <T> int getPosition(Collection<T> collection, T value, int number, boolean notNull)
      根据指定 value 获取索引
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      notNull - 是否不允许值为 null
      返回:
      对应的索引
    • getPositionNotNull

      public static <T> int getPositionNotNull(Collection<T> collection, T value)
      根据指定 value 获取索引, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应的索引
    • getPositionNotNull

      public static <T> int getPositionNotNull(Collection<T> collection, T value, int number)
      根据指定 value 获取索引, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应的索引
    • getNext

      public static <T> T getNext(Collection<T> collection, T value)
      根据指定 value 获取 value 所在位置的下一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应索引的值
    • getNext

      public static <T> T getNext(Collection<T> collection, T value, int number)
      根据指定 value 获取 value 所在位置的下一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应索引的值
    • getNext

      public static <T> T getNext(Collection<T> collection, T value, boolean notNull)
      根据指定 value 获取 value 所在位置的下一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      notNull - 是否不允许值为 null
      返回:
      对应索引的值
    • getNext

      public static <T> T getNext(Collection<T> collection, T value, int number, boolean notNull)
      根据指定 value 获取 value 所在位置的下一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      notNull - 是否不允许值为 null
      返回:
      对应索引的值
    • getNextNotNull

      public static <T> T getNextNotNull(Collection<T> collection, T value)
      根据指定 value 获取 value 所在位置的下一个值, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应索引的值
    • getNextNotNull

      public static <T> T getNextNotNull(Collection<T> collection, T value, int number)
      根据指定 value 获取 value 所在位置的下一个值, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应索引的值
    • getPrevious

      public static <T> T getPrevious(Collection<T> collection, T value)
      根据指定 value 获取 value 所在位置的上一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应索引的值
    • getPrevious

      public static <T> T getPrevious(Collection<T> collection, T value, int number)
      根据指定 value 获取 value 所在位置的上一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应索引的值
    • getPrevious

      public static <T> T getPrevious(Collection<T> collection, T value, boolean notNull)
      根据指定 value 获取 value 所在位置的上一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      notNull - 是否不允许值为 null
      返回:
      对应索引的值
    • getPrevious

      public static <T> T getPrevious(Collection<T> collection, T value, int number, boolean notNull)
      根据指定 value 获取 value 所在位置的上一个值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      notNull - 是否不允许值为 null
      返回:
      对应索引的值
    • getPreviousNotNull

      public static <T> T getPreviousNotNull(Collection<T> collection, T value)
      根据指定 value 获取 value 所在位置的上一个值, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      对应索引的值
    • getPreviousNotNull

      public static <T> T getPreviousNotNull(Collection<T> collection, T value, int number)
      根据指定 value 获取 value 所在位置的上一个值, 不允许值为 null
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      number - 符合条件次数 ( 从 0 开始, 0 = 1 )
      返回:
      对应索引的值
    • add

      public static <T> boolean add(Collection<T> collection, T value)
      添加一条数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      true success, false fail
    • addNotNull

      public static <T> boolean addNotNull(Collection<T> collection, T value)
      添加一条数据 ( value 不允许为 null )
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      返回:
      true success, false fail
    • add

      public static <T> boolean add(Collection<T> collection, T value, boolean notNull)
      添加一条数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 值
      notNull - 是否不允许添加 null 数据
      返回:
      true success, false fail
    • addAll

      public static <T> boolean addAll(Collection<T> collection, Collection<T> values)
      添加集合数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • addAllNotNull

      public static <T> boolean addAllNotNull(Collection<T> collection, Collection<T> values)
      添加集合数据 ( values 内的值不允许为 null )
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • addAll

      public static <T> boolean addAll(Collection<T> collection, Collection<T> values, boolean notNull)
      添加集合数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      notNull - 是否不允许添加 null 值
      返回:
      true success, false fail
    • clearAndAddAll

      public static <T> boolean clearAndAddAll(Collection<T> collection, Collection<T> values)
      移除全部数据并添加集合数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • clearAndAddAllNotNull

      public static <T> boolean clearAndAddAllNotNull(Collection<T> collection, Collection<T> values)
      移除全部数据并添加集合数据 ( values 内的值不允许为 null )
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • clearAndAddAll

      public static <T> boolean clearAndAddAll(Collection<T> collection, Collection<T> values, boolean notNull)
      移除全部数据并添加集合数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备添加的值 ( 集合 )
      notNull - 是否不允许添加 null 值
      返回:
      true success, false fail
    • add

      public static <T> boolean add(int index, List<T> list, T value)
      添加一条数据到指定索引后
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      value - 值
      返回:
      true success, false fail
    • addNotNull

      public static <T> boolean addNotNull(int index, List<T> list, T value)
      添加一条数据到指定索引后 ( value 不允许为 null )
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      value - 值
      返回:
      true success, false fail
    • add

      public static <T> boolean add(int index, List<T> list, T value, boolean notNull)
      添加一条数据到指定索引后
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      value - 值
      notNull - 是否不允许添加 null 数据
      返回:
      true success, false fail
    • addAll

      public static <T> boolean addAll(int index, List<T> list, List<T> values)
      添加集合数据到指定索引后
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • addAllNotNull

      public static <T> boolean addAllNotNull(int index, List<T> list, List<T> values)
      添加集合数据到指定索引后 ( values 内的值不允许为 null )
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      values - 准备添加的值 ( 集合 )
      返回:
      true success, false fail
    • addAll

      public static <T> boolean addAll(int index, List<T> list, List<T> values, boolean notNull)
      添加集合数据到指定索引后
      类型参数:
      T - 泛型
      参数:
      index - 索引
      list - 集合
      values - 准备添加的值 ( 集合 )
      notNull - 是否不允许添加 null 值
      返回:
      true success, false fail
    • remove

      public static <T> boolean remove(Collection<T> collection, T value)
      移除一条数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 准备删除的值
      返回:
      true success, false fail
    • remove

      public static <T> T remove(List<T> list, int pos)
      移除一条数据
      类型参数:
      T - 泛型
      参数:
      list - 集合
      pos - 准备删除的索引
      返回:
      true success, false fail
    • removeAll

      public static <T> boolean removeAll(Collection<T> collection, Collection<T> values)
      移除集合数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      values - 准备删除的集合
      返回:
      true success, false fail
    • clear

      public static <T> boolean clear(Collection<T> collection, T value)
      清空集合中符合指定 value 的全部数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 准备对比移除的值
      返回:
      true success, false fail
    • clearNotBelong

      public static <T> boolean clearNotBelong(Collection<T> collection, T value)
      保留集合中符合指定 value 的全部数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      value - 准备对比保留的值
      返回:
      true success, false fail
    • clearAll

      public static <T> boolean clearAll(Collection<T> collection)
      清空集合全部数据
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      true success, false fail
    • clearNull

      public static <T> boolean clearNull(Collection<T> collection)
      清空集合中为 null 的值
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      true success, false fail
    • isEqualCollection

      public static <T> boolean isEqualCollection(Collection<T> collection1, Collection<T> collection2)
      判断两个集合是否相同
      类型参数:
      T - 泛型
      参数:
      collection1 - 第一个集合
      collection2 - 第二个集合
      返回:
      true yes, false no
    • isEqualCollections

      public static <T> boolean isEqualCollections(Collection<T>... collections)
      判断多个集合是否相同
      类型参数:
      T - 泛型
      参数:
      collections - 集合数组
      返回:
      true yes, false no
    • union

      public static <T> Collection<T> union(Collection<T> collection1, Collection<T> collection2)
      两个集合并集处理
      类型参数:
      T - 泛型
      参数:
      collection1 - 第一个集合
      collection2 - 第二个集合
      返回:
      并集集合
    • unions

      public static <T> Collection<T> unions(Collection<T>... collections)
      多个集合并集处理
      类型参数:
      T - 泛型
      参数:
      collections - 集合数组
      返回:
      并集集合
    • intersection

      public static <T> Collection<T> intersection(Collection<T> collection1, Collection<T> collection2)
      两个集合交集处理
      类型参数:
      T - 泛型
      参数:
      collection1 - 第一个集合
      collection2 - 第二个集合
      返回:
      交集集合
    • disjunction

      public static <T> Collection<T> disjunction(Collection<T> collection1, Collection<T> collection2)
      两个集合交集的补集处理
      类型参数:
      T - 泛型
      参数:
      collection1 - 第一个集合
      collection2 - 第二个集合
      返回:
      交集集合
    • subtract

      public static <T> Collection<T> subtract(Collection<T> collection1, Collection<T> collection2)
      两个集合差集 ( 扣除 ) 处理
      类型参数:
      T - 泛型
      参数:
      collection1 - 第一个集合
      collection2 - 第二个集合
      返回:
      差集 ( 扣除 ) 集合
    • equals

      public static <T> boolean equals(T value1, T value2)
      判断两个值是否一样
      类型参数:
      T - 泛型
      参数:
      value1 - 第一个值
      value2 - 第二个值
      返回:
      true yes, false no
    • toArray

      public static <T> Object[] toArray(Collection<T> collection)
      转换数组 to Object
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      转换后的数组
    • toArrayT

      public static <T> T[] toArrayT(Collection<T> collection)
      转换数组 to T
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      转换后的泛型数组
    • reverse

      public static <T> Collection<T> reverse(Collection<T> collection)
      集合翻转处理
      类型参数:
      T - 泛型
      参数:
      collection - Collection
      返回:
      翻转后的集合
    • getMinimumIndexI

      public static int getMinimumIndexI(List<Integer> list)
      获取集合中最小值索引
      参数:
      list - 集合
      返回:
      最小值索引
    • getMinimumIndexL

      public static int getMinimumIndexL(List<Long> list)
      获取集合中最小值索引
      参数:
      list - 集合
      返回:
      最小值索引
    • getMinimumIndexF

      public static int getMinimumIndexF(List<Float> list)
      获取集合中最小值索引
      参数:
      list - 集合
      返回:
      最小值索引
    • getMinimumIndexD

      public static int getMinimumIndexD(List<Double> list)
      获取集合中最小值索引
      参数:
      list - 集合
      返回:
      最小值索引
    • getMaximumIndexI

      public static int getMaximumIndexI(List<Integer> list)
      获取集合中最大值索引
      参数:
      list - 集合
      返回:
      最大值索引
    • getMaximumIndexL

      public static int getMaximumIndexL(List<Long> list)
      获取集合中最大值索引
      参数:
      list - 集合
      返回:
      最大值索引
    • getMaximumIndexF

      public static int getMaximumIndexF(List<Float> list)
      获取集合中最大值索引
      参数:
      list - 集合
      返回:
      最大值索引
    • getMaximumIndexD

      public static int getMaximumIndexD(List<Double> list)
      获取集合中最大值索引
      参数:
      list - 集合
      返回:
      最大值索引
    • getMinimumI

      public static int getMinimumI(List<Integer> list)
      获取集合中最小值
      参数:
      list - 集合
      返回:
      最小值
    • getMinimumL

      public static long getMinimumL(List<Long> list)
      获取集合中最小值
      参数:
      list - 集合
      返回:
      最小值
    • getMinimumF

      public static float getMinimumF(List<Float> list)
      获取集合中最小值
      参数:
      list - 集合
      返回:
      最小值
    • getMinimumD

      public static double getMinimumD(List<Double> list)
      获取集合中最小值
      参数:
      list - 集合
      返回:
      最小值
    • getMaximumI

      public static int getMaximumI(List<Integer> list)
      获取集合中最大值
      参数:
      list - 集合
      返回:
      最大值
    • getMaximumL

      public static long getMaximumL(List<Long> list)
      获取集合中最大值
      参数:
      list - 集合
      返回:
      最大值
    • getMaximumF

      public static float getMaximumF(List<Float> list)
      获取集合中最大值
      参数:
      list - 集合
      返回:
      最大值
    • getMaximumD

      public static double getMaximumD(List<Double> list)
      获取集合中最大值
      参数:
      list - 集合
      返回:
      最大值
    • sumlistI

      public static int sumlistI(List<Integer> lists)
      计算集合总和
      参数:
      lists - 集合
      返回:
      集合总和
    • sumlistI

      public static int sumlistI(List<Integer> lists, int end)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      返回:
      集合总和
    • sumlistI

      public static int sumlistI(List<Integer> lists, int end, int extra)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistI

      public static int sumlistI(List<Integer> lists, int start, int end, int extra)
      计算集合总和
      参数:
      lists - 集合
      start - 开始位置
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistL

      public static long sumlistL(List<Long> lists)
      计算集合总和
      参数:
      lists - 集合
      返回:
      集合总和
    • sumlistL

      public static long sumlistL(List<Long> lists, int end)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      返回:
      集合总和
    • sumlistL

      public static long sumlistL(List<Long> lists, int end, long extra)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistL

      public static long sumlistL(List<Long> lists, int start, int end, long extra)
      计算集合总和
      参数:
      lists - 集合
      start - 开始位置
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistF

      public static float sumlistF(List<Float> lists)
      计算集合总和
      参数:
      lists - 集合
      返回:
      集合总和
    • sumlistF

      public static float sumlistF(List<Float> lists, int end)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      返回:
      集合总和
    • sumlistF

      public static float sumlistF(List<Float> lists, int end, float extra)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistF

      public static float sumlistF(List<Float> lists, int start, int end, float extra)
      计算集合总和
      参数:
      lists - 集合
      start - 开始位置
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistD

      public static double sumlistD(List<Double> lists)
      计算集合总和
      参数:
      lists - 集合
      返回:
      集合总和
    • sumlistD

      public static double sumlistD(List<Double> lists, int end)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      返回:
      集合总和
    • sumlistD

      public static double sumlistD(List<Double> lists, int end, double extra)
      计算集合总和
      参数:
      lists - 集合
      end - 结束位置
      extra - 额外值
      返回:
      集合总和
    • sumlistD

      public static double sumlistD(List<Double> lists, int start, int end, double extra)
      计算集合总和
      参数:
      lists - 集合
      start - 开始位置
      end - 结束位置
      extra - 额外值
      返回:
      集合总和