Class CollectionUtils

java.lang.Object
icu.easyj.core.util.MapUtils
icu.easyj.core.util.CollectionUtils

public abstract class CollectionUtils extends MapUtils
集合工具类
Author:
wangliang181230
  • Constructor Details

    • CollectionUtils

      public CollectionUtils()
  • Method Details

    • getFirst

      @Nullable public static <T> T getFirst(List<T> list)
      获取列表的第一项,并保证线程安全。
      Type Parameters:
      T - 列表项的类型
      Parameters:
      list - 列表
      Returns:
      lastItem 返回列表的第一项
    • getLast

      @Nullable public static <T> T getLast(List<T> list)
      获取列表的最后一项,并保证线程安全。

      存在线程安全问题的原因:`list.size()` 和 `list.get(size - 1)` 两个方法不是原子操作。

      注意:即使 `List` 本身是线程安全的,也会存在该问题。

      Type Parameters:
      T - 列表项的类型
      Parameters:
      list - 列表
      Returns:
      lastItem 返回列表的最后一项
    • isEmpty

      public static boolean isEmpty(Collection<?> coll)
      判断集合是否为空
      Parameters:
      coll - 集合
      Returns:
      是否为空
    • isNotEmpty

      public static boolean isNotEmpty(Collection<?> coll)
      判断集合是否不为空
      Parameters:
      coll - 集合
      Returns:
      是否不为空
    • defaultIfEmpty

      public static <T extends Collection<?>> T defaultIfEmpty(T coll, T defaultValue)
      如果为空集合,则取默认值
      Type Parameters:
      T - 集合类型
      Parameters:
      coll - 集合
      defaultValue - 默认值
      Returns:
      入参集合或默认值
    • defaultIfEmpty

      public static <T extends Collection<?>> T defaultIfEmpty(T coll, Supplier<T> defaultValueSupplier)
      如果为空数组,则执行supplier生成新的值
      Type Parameters:
      T - 集合类型
      Parameters:
      coll - 集合
      defaultValueSupplier - 默认值提供者
      Returns:
      入参集合或生成的默认值
    • toString

      @NonNull public static String toString(Collection<?> col)
      Collection To String.
      Parameters:
      col - 集合
      Returns:
      str 字符串