
spring.turbo.util.collection.CollectionUtils Maven / Gradle / Ivy
package spring.turbo.util.collection;
import org.springframework.lang.Nullable;
import spring.turbo.util.Asserts;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
/**
* 集合相关工具
*
* @author 应卓
* @since 1.0.5
*/
public final class CollectionUtils {
/**
* 私有构造方法
*/
private CollectionUtils() {
super();
}
/**
* 获取collection长度
*
* @param collection collection,可为 {@code null}
* @param 集合的泛型类型
* @return 长度或0
*/
public static int size(@Nullable Collection collection) {
return collection != null ? collection.size() : 0;
}
/**
* 获取map长度
*
* @param map map,可为 {@code null}
* @param KEY类型泛型
* @param VALUE类型泛型
* @return 长度或0
*/
public static int size(@Nullable Map map) {
return map != null ? map.size() : 0;
}
/**
* 判断collection是否为空
*
* @param collection collection,可为 {@code null}
* @param collection的泛型类型
* @return 空时返回 {@code true} 否则返回 {@code false}
*/
public static boolean isEmpty(@Nullable Collection collection) {
return size(collection) == 0;
}
/**
* 判断map是否为空
*
* @param map map,可为 {@code null}
* @param KEY类型泛型
* @param VALUE类型泛型
* @return 空时返回 {@code true} 否则返回 {@code false}
*/
public static boolean isEmpty(@Nullable Map map) {
return size(map) == 0;
}
/**
* 判断collection是否不为空
*
* @param collection collection,可为 {@code null}
* @param collection的泛型类型
* @return 空时返回 {@code false} , 否则返回 {@code true}
*/
public static boolean isNotEmpty(@Nullable Collection collection) {
return size(collection) != 0;
}
/**
* 判断map是否不为空
*
* @param map map,可为 {@code null}
* @param KEY类型泛型
* @param VALUE类型泛型
* @return 空时返回 {@code false} , 否则返回 {@code true}
*/
public static boolean isNotEmpty(@Nullable Map map) {
return size(map) != 0;
}
/**
* 为集合添加元素,并小心地处理空值
*
* @param collection 要加入的集合
* @param element 待添加的元素
* @param 集合的泛型类型
*/
public static void nullSafeAdd(Collection collection, @Nullable T element) {
Asserts.notNull(collection);
if (element != null) {
collection.add(element);
}
}
/**
* 为集合添加元素,并小心地处理空值
*
* @param collection 要加入的集合
* @param elements 待添加的元素
* @param 集合的泛型类型
*/
public static void nullSafeAddAll(Collection collection, @Nullable T[] elements) {
Asserts.notNull(collection);
if (elements != null) {
for (T obj : elements) {
Optional.ofNullable(obj).ifPresent(collection::add);
}
}
}
/**
* 为集合添加元素,并小心地处理空值
*
* @param collection 要加入的集合
* @param elements 待添加的元素
* @param 集合的泛型类型
*/
public static void nullSafeAddAll(Collection collection, @Nullable Collection elements) {
Asserts.notNull(collection);
if (elements != null) {
for (T obj : elements) {
Optional.ofNullable(obj).ifPresent(collection::add);
}
}
}
/**
* 为映射添加元素,并小心地处理空值
*
* @param map 要加入的映射
* @param elements 待添加的元素
* @param 集合的泛型类型 key
* @param 集合的泛型类型 vakue
*/
public static void nullSafeAddAll(Map map, @Nullable Map elements) {
Asserts.notNull(map);
if (elements != null) {
map.putAll(elements);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy