add method

This commit is contained in:
Looly
2026-01-21 17:44:30 +08:00
parent c49469a842
commit 5aa24a113c
2 changed files with 72 additions and 46 deletions

View File

@@ -42,6 +42,7 @@ import java.util.function.Predicate;
*/
public class ListUtil {
// region ----- of
/**
* 新建一个{@link ArrayList}<br>
* 如果提供的初始化数组为空新建默认初始长度的List<br>
@@ -184,6 +185,54 @@ public class ListUtil {
return (ArrayList<T>) of(false, enumeration);
}
/**
* 新建一个CopyOnWriteArrayList
*
* @param <T> 集合元素类型
* @param collection 集合
* @return {@link CopyOnWriteArrayList}
*/
public static <T> CopyOnWriteArrayList<T> ofCopyOnWrite(final Collection<T> collection) {
return (null == collection) ? (new CopyOnWriteArrayList<>()) : (new CopyOnWriteArrayList<>(collection));
}
/**
* 新建一个CopyOnWriteArrayList
*
* @param <T> 集合元素类型
* @param ts 集合
* @return {@link CopyOnWriteArrayList}
*/
@SafeVarargs
public static <T> CopyOnWriteArrayList<T> ofCopyOnWrite(final T... ts) {
return (null == ts) ? (new CopyOnWriteArrayList<>()) : (new CopyOnWriteArrayList<>(ts));
}
/**
* 获取一个空List这个空List不可变
*
* @param <T> 元素类型
* @return 空的List
* @see Collections#emptyList()
* @since 5.2.6
*/
public static <T> List<T> empty() {
return Collections.emptyList();
}
/**
* 获取一个初始大小为0的List这个空List可变
*
* @param <T> 元素类型
* @return 空的List
* @since 7.0.0
*/
public static <T> List<T> zero() {
return new ArrayList<>(0);
}
// endregion
// region ----- view
/**
* 数组转为一个不可变List<br>
* 类似于Java9中的List.of<br>
@@ -212,29 +261,7 @@ public class ListUtil {
}
return Collections.unmodifiableList(ts);
}
/**
* 获取一个空List这个空List不可变
*
* @param <T> 元素类型
* @return 空的List
* @see Collections#emptyList()
* @since 5.2.6
*/
public static <T> List<T> empty() {
return Collections.emptyList();
}
/**
* 获取一个初始大小为0的List这个空List可变
*
* @param <T> 元素类型
* @return 空的List
* @since 7.0.0
*/
public static <T> List<T> zero() {
return new ArrayList<>(0);
}
// endregion
/**
* 获取一个只包含一个元素的List不可变
@@ -248,29 +275,7 @@ public class ListUtil {
return Collections.singletonList(element);
}
/**
* 新建一个CopyOnWriteArrayList
*
* @param <T> 集合元素类型
* @param collection 集合
* @return {@link CopyOnWriteArrayList}
*/
public static <T> CopyOnWriteArrayList<T> ofCopyOnWrite(final Collection<T> collection) {
return (null == collection) ? (new CopyOnWriteArrayList<>()) : (new CopyOnWriteArrayList<>(collection));
}
/**
* 新建一个CopyOnWriteArrayList
*
* @param <T> 集合元素类型
* @param ts 集合
* @return {@link CopyOnWriteArrayList}
*/
@SafeVarargs
public static <T> CopyOnWriteArrayList<T> ofCopyOnWrite(final T... ts) {
return (null == ts) ? (new CopyOnWriteArrayList<>()) : (new CopyOnWriteArrayList<>(ts));
}
// region ----- page
/**
* 对指定List分页取值
*
@@ -346,7 +351,9 @@ public class ListUtil {
pageInfo.nextPage();
}
}
// endregion
// region ----- sort
/**
* 针对List自然排序排序会修改原List
*
@@ -403,7 +410,9 @@ public class ListUtil {
public static List<String> sortByPinyin(final List<String> list) {
return sort(list, new PinyinComparator());
}
// endregion
// region ----- reverse
/**
* 反序给定List会在原List基础上直接修改<br>
* 注意此方法不支持不可编辑的列表
@@ -446,7 +455,9 @@ public class ListUtil {
return reverse(of(list));
}
}
// endregion
// region ----- setOrPadding
/**
* 设置或增加元素。当index小于List的长度时替换指定位置的值否则在尾部追加
*
@@ -524,7 +535,9 @@ public class ListUtil {
}
return list;
}
// endregion
// region ----- sub
/**
* 截取集合的部分
*
@@ -596,6 +609,7 @@ public class ListUtil {
}
return result;
}
// endregion
/**
* 获取匹配规则定义中匹配到元素的最后位置<br>

View File

@@ -42,6 +42,18 @@ public class MethodNameUtil {
*/
public static final String IS_PREFIX = "is";
/**
* 将给定字符串的首字母转换为大写
*
* @param name 待处理的字符序列可以是字符串或其他CharSequence实现
* @return 首字母大写的字符串如果输入为null则返回null
* @see StrUtil#upperFirst(CharSequence)
*/
public static String capitalize(final CharSequence name) {
return StrUtil.upperFirst(name);
}
/**
* 转换名称为标准的字段名称,规则为:
* <ul>