public class ArrayUtil extends PrimitiveArrayUtil
INDEX_NOT_FOUND
Constructor and Description |
---|
ArrayUtil() |
Modifier and Type | Method and Description |
---|---|
static <T> T[] |
addAll(T[]... arrays)
将多个数组合并在一起
忽略null的数组 |
static <T> Object |
append(Object array,
T... newElements)
将新元素添加到已有数组中
添加新元素会生成一个新的数组,不影响原数组 |
static <T> T[] |
append(T[] buffer,
T... newElements)
将新元素添加到已有数组中
添加新元素会生成一个新的数组,不影响原数组 |
static Object[] |
cast(Class<?> type,
Object arrayObj)
强转数组类型
强制转换的前提是数组元素类型可被强制转换 强制转换后会生成一个新数组 |
static <T> T |
clone(T obj)
克隆数组,如果非数组返回
null |
static <T> T[] |
clone(T[] array)
克隆数组
|
static <T> boolean |
contains(T[] array,
T value)
数组中是否包含元素
|
static <T> boolean |
containsAll(T[] array,
T... values)
数组中是否包含指定元素中的全部
|
static <T> boolean |
containsAny(T[] array,
T... values)
数组中是否包含指定元素中的任意一个
|
static boolean |
containsIgnoreCase(CharSequence[] array,
CharSequence value)
数组中是否包含元素,忽略大小写
|
static Object |
copy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
|
static Object |
copy(Object src,
Object dest,
int length)
包装
System.arraycopy(Object, int, Object, int, int) 数组复制,缘数组和目标数组都是从位置0开始复制 |
static <T> T[] |
defaultIfEmpty(T[] array,
T[] defaultArray)
如果给定数组为空,返回默认数组
|
static <T> T[] |
distinct(T[] array)
去重数组中的元素,去重后生成新的数组,原数组不变
此方法通过 LinkedHashSet 去重 |
static <T,K> T[] |
distinct(T[] array,
Function<T,K> uniqueGenerator,
boolean override)
去重数组中的元素,去重后生成新的数组,原数组不变
此方法通过 LinkedHashSet 去重 |
static <T> T[] |
edit(T[] array,
Editor<T> editor)
编辑数组
编辑过程通过传入的Editor实现来返回需要的元素内容,这个Editor实现可以实现以下功能: 1、过滤出需要的对象,如果返回 null 表示这个元素对象抛弃
2、修改元素对象,返回集合中为修改后的对象
|
static int |
emptyCount(Object... args)
计算
null 或空元素对象的个数,通过ObjectUtil.isEmpty(Object) 判断元素 |
static boolean |
equals(Object array1,
Object array2)
判断两个数组是否相等,判断依据包括数组长度和每个元素都相等。
|
static <T> T[] |
filter(T[] array,
Filter<T> filter)
过滤
过滤过程通过传入的Filter实现来过滤返回需要的元素内容,这个Filter实现可以实现以下功能: 1、过滤出需要的对象, Filter.accept(Object) 方法返回true的对象将被加入结果集合中
|
static <T> T |
firstMatch(Matcher<T> matcher,
T... array)
返回数组中第一个匹配规则的值
|
static <T> T |
firstNonNull(T... array)
返回数组中第一个非空元素
|
static <T> T |
get(Object array,
int index)
获取数组对象中指定index的值,支持负数,例如-1表示倒数第一个值
如果数组下标越界,返回null |
static <T> T[] |
getAny(Object array,
int... indexes)
获取数组中指定多个下标元素值,组成新数组
|
static Class<?> |
getArrayType(Class<?> componentType)
根据数组元素类型,获取数组的类型
方法是通过创建一个空数组从而获取其类型 |
static Class<?> |
getComponentType(Class<?> arrayClass)
获取数组对象的元素类型
|
static Class<?> |
getComponentType(Object array)
获取数组对象的元素类型
|
static boolean |
hasEmpty(Object... args)
是否存在
null 或空对象,通过ObjectUtil.isEmpty(Object) 判断元素 |
static <T> boolean |
hasNull(T... array)
是否包含
null 元素 |
static <T> int |
indexOf(T[] array,
Object value)
返回数组中指定元素所在位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
static <T> int |
indexOf(T[] array,
Object value,
int beginIndexInclude)
返回数组中指定元素所在位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
static int |
indexOfIgnoreCase(CharSequence[] array,
CharSequence value)
返回数组中指定元素所在位置,忽略大小写,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
static <T> int |
indexOfSub(T[] array,
int beginInclude,
T[] subArray)
查找子数组的位置
|
static <T> int |
indexOfSub(T[] array,
T[] subArray)
查找子数组的位置
|
static <T> Object |
insert(Object array,
int index,
T... newElements)
将新元素插入到到已有数组中的某个位置
添加新元素会生成一个新的数组,不影响原数组 如果插入位置为为负数,从原数组从后向前计数,若大于原数组长度,则空白处用null填充 |
static <T> T[] |
insert(T[] buffer,
int index,
T... newElements)
将新元素插入到到已有数组中的某个位置
添加新元素会生成一个新的数组,不影响原数组 如果插入位置为为负数,从原数组从后向前计数,若大于原数组长度,则空白处用null填充 |
static boolean |
isAllEmpty(Object... args)
是否存都为
null 或空对象,通过ObjectUtil.isEmpty(Object) 判断元素 |
static boolean |
isAllNotEmpty(Object... args)
是否存都不为
null 或空对象,通过ObjectUtil.isEmpty(Object) 判断元素 |
static <T> boolean |
isAllNotNull(T... array)
多个字段是否全部不为null
|
static <T> boolean |
isAllNull(T... array)
多个字段是否全为null
|
static boolean |
isArray(Object obj)
对象是否为数组对象
|
static boolean |
isEmpty(Object array)
数组是否为空
此方法会匹配单一对象,如果此对象为 null 则返回true如果此对象为非数组,理解为此对象为数组的第一个元素,则返回false 如果此对象为数组对象,数组长度大于0情况下返回false,否则返回true |
static <T> boolean |
isEmpty(T[] array)
数组是否为空
|
static boolean |
isNotEmpty(Object array)
数组是否为非空
此方法会匹配单一对象,如果此对象为 null 则返回false如果此对象为非数组,理解为此对象为数组的第一个元素,则返回true 如果此对象为数组对象,数组长度大于0情况下返回true,否则返回false |
static <T> boolean |
isNotEmpty(T[] array)
数组是否为非空
|
static <T extends Comparable<? super T>> |
isSorted(T[] array)
检查数组是否升序,即array[i].compareTo(array[i + 1]) <= 0,若传入空数组,则返回false
|
static <T> boolean |
isSorted(T[] array,
Comparator<? super T> comparator)
检查数组是否有序,即comparator.compare(array[i], array[i + 1]) <= 0,若传入空数组或空比较器,则返回false
|
static <T extends Comparable<? super T>> |
isSortedASC(T[] array)
检查数组是否升序,即array[i].compareTo(array[i + 1]) <= 0,若传入空数组,则返回false
|
static <T extends Comparable<? super T>> |
isSortedDESC(T[] array)
检查数组是否降序,即array[i].compareTo(array[i + 1]) >= 0,若传入空数组,则返回false
|
static <T> boolean |
isSub(T[] array,
T[] subArray)
查找子数组的位置
|
static String |
join(Object array,
CharSequence conjunction)
以 conjunction 为分隔符将数组转换为字符串
|
static <T> String |
join(T[] array,
CharSequence conjunction)
以 conjunction 为分隔符将数组转换为字符串
|
static <T> String |
join(T[] array,
CharSequence conjunction,
Editor<T> editor)
以 conjunction 为分隔符将数组转换为字符串
|
static <T> String |
join(T[] array,
CharSequence delimiter,
String prefix,
String suffix)
以 conjunction 为分隔符将数组转换为字符串
|
static <T> int |
lastIndexOf(T[] array,
Object value)
返回数组中指定元素所在最后的位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
static <T> int |
lastIndexOf(T[] array,
Object value,
int endInclude)
返回数组中指定元素所在最后的位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
static <T> int |
lastIndexOfSub(T[] array,
int endInclude,
T[] subArray)
查找最后一个子数组的开始位置
|
static <T> int |
lastIndexOfSub(T[] array,
T[] subArray)
查找最后一个子数组的开始位置
|
static int |
length(Object array)
获取数组长度
如果参数为 null ,返回0
ArrayUtil.length(null) = 0
ArrayUtil.length([]) = 0
ArrayUtil.length([null]) = 1
ArrayUtil.length([true, false]) = 2
ArrayUtil.length([1, 2, 3]) = 3
ArrayUtil.length(["a", "b", "c"]) = 3
|
static <T,R> R[] |
map(Object array,
Class<R> targetComponentType,
Function<? super T,? extends R> func)
按照指定规则,将一种类型的数组转换为另一种类型
|
static <T,R> R[] |
map(T[] array,
Class<R> targetComponentType,
Function<? super T,? extends R> func)
按照指定规则,将一种类型的数组转换为另一种类型
|
static <T,R> List<R> |
map(T[] array,
Function<? super T,? extends R> func)
按照指定规则,将一种类型的数组元素提取后转换为
List |
static <T,R> Set<R> |
mapToSet(T[] array,
Function<? super T,? extends R> func)
按照指定规则,将一种类型的数组元素提取后转换为
Set |
static <T> int |
matchIndex(Matcher<T> matcher,
int beginIndexInclude,
T... array)
返回数组中第一个匹配规则的值的位置
|
static <T> int |
matchIndex(Matcher<T> matcher,
T... array)
返回数组中第一个匹配规则的值的位置
|
static <T extends Comparable<? super T>> |
max(T[] numberArray)
取最大值
|
static <T extends Comparable<? super T>> |
max(T[] numberArray,
Comparator<T> comparator)
取最大值
|
static <T extends Comparable<? super T>> |
min(T[] numberArray)
取最小值
|
static <T extends Comparable<? super T>> |
min(T[] numberArray,
Comparator<T> comparator)
取最小值
|
static <T> T[] |
newArray(Class<?> componentType,
int newSize)
新建一个空数组
|
static Object[] |
newArray(int newSize)
新建一个空数组
|
static String[] |
nullToEmpty(String[] array)
数组元素中的null转换为""
|
static <T> T[] |
remove(T[] array,
int index)
移除数组中对应位置的元素
copy from commons-lang |
static <T extends CharSequence> |
removeBlank(T[] array)
去除
null 或者""或者空白字符串 元素 |
static <T> T[] |
removeEle(T[] array,
T element)
移除数组中指定的元素
只会移除匹配到的第一个元素 copy from commons-lang |
static <T extends CharSequence> |
removeEmpty(T[] array)
去除
null 或者"" 元素 |
static <T> T[] |
removeNull(T[] array)
去除
null 元素 |
static <T> T[] |
replace(T[] buffer,
int index,
T... values)
将新元素插入到到已有数组中的某个位置
添加新元素会生成一个新数组或原有数组 如果插入位置为为负数,那么生成一个由插入元素顺序加已有数组顺序的新数组 |
static Object |
resize(Object array,
int newSize)
生成一个新的重新设置大小的数组
调整大小后拷贝原数组到新数组下。 |
static <T> T[] |
resize(T[] buffer,
int newSize)
生成一个新的重新设置大小的数组
新数组的类型为原数组的类型,调整大小后拷贝原数组到新数组下。 |
static <T> T[] |
resize(T[] data,
int newSize,
Class<?> componentType)
生成一个新的重新设置大小的数组
调整大小后拷贝原数组到新数组下。 |
static <T> T[] |
reverse(T[] array)
反转数组,会变更原数组
|
static <T> T[] |
reverse(T[] array,
int startIndexInclusive,
int endIndexExclusive)
反转数组,会变更原数组
|
static Object |
setOrAppend(Object array,
int index,
Object value)
将元素值设置为数组的某个位置,当给定的index大于数组长度,则追加
替换时返回原数组,追加时返回新数组 |
static <T> T[] |
setOrAppend(T[] buffer,
int index,
T value)
将元素值设置为数组的某个位置,当给定的index大于数组长度,则追加
|
static <T> T[] |
shuffle(T[] array)
打乱数组顺序,会变更原数组
|
static <T> T[] |
shuffle(T[] array,
Random random)
打乱数组顺序,会变更原数组
|
static Object[] |
sub(Object array,
int start,
int end)
获取子数组
|
static Object[] |
sub(Object array,
int start,
int end,
int step)
获取子数组
|
static <T> T[] |
sub(T[] array,
int start,
int end)
获取子数组
|
static Object |
swap(Object array,
int index1,
int index2)
交换数组中两个位置的值
|
static <T> T[] |
swap(T[] array,
int index1,
int index2)
交换数组中两个位置的值
|
static byte[] |
toArray(ByteBuffer bytebuffer)
ByteBuffer 转byte数组 |
static <T> T[] |
toArray(Collection<T> collection,
Class<T> componentType)
将集合转为数组
|
static <T> T[] |
toArray(Iterable<T> iterable,
Class<T> componentType)
将集合转为数组
|
static <T> T[] |
toArray(Iterator<T> iterator,
Class<T> componentType)
将集合转为数组
|
static String |
toString(Object obj)
数组或集合转String
|
static Object[] |
wrap(Object obj)
包装数组对象
|
static <K,V> Map<K,V> |
zip(K[] keys,
V[] values)
映射键值(参考Python的zip()函数),返回Map无序
例如: keys = [a,b,c,d] values = [1,2,3,4] 则得到的Map是 {a=1, b=2, c=3, d=4} 如果两个数组长度不同,则只对应最短部分 |
static <K,V> Map<K,V> |
zip(K[] keys,
V[] values,
boolean isOrder)
映射键值(参考Python的zip()函数)
例如: keys = [a,b,c,d] values = [1,2,3,4] 则得到的Map是 {a=1, b=2, c=3, d=4} 如果两个数组长度不同,则只对应最短部分 |
addAll, addAll, addAll, addAll, addAll, addAll, addAll, addAll, contains, contains, contains, contains, contains, contains, contains, contains, indexOf, indexOf, indexOf, indexOf, indexOf, indexOf, indexOf, indexOf, isEmpty, isEmpty, isEmpty, isEmpty, isEmpty, isEmpty, isEmpty, isEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isSorted, isSorted, isSorted, isSorted, isSorted, isSorted, isSorted, isSortedASC, isSortedASC, isSortedASC, isSortedASC, isSortedASC, isSortedASC, isSortedASC, isSortedDESC, isSortedDESC, isSortedDESC, isSortedDESC, isSortedDESC, isSortedDESC, isSortedDESC, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, lastIndexOf, max, max, max, max, max, max, max, min, min, min, min, min, min, min, range, range, range, remove, remove, remove, remove, remove, remove, remove, remove, remove, removeEle, removeEle, removeEle, removeEle, removeEle, removeEle, removeEle, removeEle, resize, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, reverse, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, shuffle, split, sub, sub, sub, sub, sub, sub, sub, sub, swap, swap, swap, swap, swap, swap, swap, swap, unWrap, unWrap, unWrap, unWrap, unWrap, unWrap, unWrap, unWrap, wrap, wrap, wrap, wrap, wrap, wrap, wrap, wrap
public static <T> boolean isEmpty(T[] array)
T
- 数组元素类型array
- 数组public static <T> T[] defaultIfEmpty(T[] array, T[] defaultArray)
T
- 数组元素类型array
- 数组defaultArray
- 默认数组public static boolean isEmpty(Object array)
null
则返回truearray
- 数组public static <T> boolean isNotEmpty(T[] array)
T
- 数组元素类型array
- 数组public static boolean isNotEmpty(Object array)
null
则返回falsearray
- 数组public static <T> boolean hasNull(T... array)
null
元素T
- 数组元素类型array
- 被检查的数组null
元素public static <T> boolean isAllNull(T... array)
T
- 数组元素类型array
- 被检查的数组public static <T> T firstNonNull(T... array)
T
- 数组元素类型array
- 数组null
public static <T> T firstMatch(Matcher<T> matcher, T... array)
T
- 数组元素类型matcher
- 匹配接口,实现此接口自定义匹配规则array
- 数组null
public static <T> int matchIndex(Matcher<T> matcher, T... array)
T
- 数组元素类型matcher
- 匹配接口,实现此接口自定义匹配规则array
- 数组public static <T> int matchIndex(Matcher<T> matcher, int beginIndexInclude, T... array)
T
- 数组元素类型matcher
- 匹配接口,实现此接口自定义匹配规则beginIndexInclude
- 检索开始的位置array
- 数组public static <T> T[] newArray(Class<?> componentType, int newSize)
T
- 数组元素类型componentType
- 元素类型newSize
- 大小public static Object[] newArray(int newSize)
newSize
- 大小public static Class<?> getComponentType(Object array)
array
- 数组对象public static Class<?> getComponentType(Class<?> arrayClass)
arrayClass
- 数组类public static Class<?> getArrayType(Class<?> componentType)
componentType
- 数组元素类型public static Object[] cast(Class<?> type, Object arrayObj) throws NullPointerException, IllegalArgumentException
type
- 数组类型或数组元素类型arrayObj
- 原数组NullPointerException
- 提供参数为空IllegalArgumentException
- 参数arrayObj不是数组@SafeVarargs public static <T> T[] append(T[] buffer, T... newElements)
T
- 数组元素类型buffer
- 已有数组newElements
- 新元素@SafeVarargs public static <T> Object append(Object array, T... newElements)
T
- 数组元素类型array
- 已有数组newElements
- 新元素public static <T> T[] setOrAppend(T[] buffer, int index, T value)
T
- 数组元素类型buffer
- 已有数组index
- 位置,大于长度追加,否则替换value
- 新值public static Object setOrAppend(Object array, int index, Object value)
array
- 已有数组index
- 位置,大于长度追加,否则替换value
- 新值public static <T> T[] replace(T[] buffer, int index, T... values)
T
- 数组元素类型buffer
- 已有数组index
- 位置,大于长度追加,否则替换,<0表示从头部追加values
- 新值public static <T> T[] insert(T[] buffer, int index, T... newElements)
T
- 数组元素类型buffer
- 已有数组index
- 插入位置,此位置为对应此位置元素之前的空档newElements
- 新元素public static <T> Object insert(Object array, int index, T... newElements)
T
- 数组元素类型array
- 已有数组index
- 插入位置,此位置为对应此位置元素之前的空档newElements
- 新元素public static <T> T[] resize(T[] data, int newSize, Class<?> componentType)
T
- 数组元素类型data
- 原数组newSize
- 新的数组大小componentType
- 数组元素类型public static Object resize(Object array, int newSize)
array
- 原数组newSize
- 新的数组大小public static <T> T[] resize(T[] buffer, int newSize)
T
- 数组元素类型buffer
- 原数组newSize
- 新的数组大小@SafeVarargs public static <T> T[] addAll(T[]... arrays)
T
- 数组元素类型arrays
- 数组集合public static Object copy(Object src, int srcPos, Object dest, int destPos, int length)
src
- 源数组srcPos
- 源数组开始位置dest
- 目标数组destPos
- 目标数组开始位置length
- 拷贝数组长度public static Object copy(Object src, Object dest, int length)
System.arraycopy(Object, int, Object, int, int)
src
- 源数组dest
- 目标数组length
- 拷贝数组长度public static <T> T[] clone(T[] array)
T
- 数组元素类型array
- 被克隆的数组public static <T> T clone(T obj)
null
T
- 数组元素类型obj
- 数组对象public static <T> T[] edit(T[] array, Editor<T> editor)
1、过滤出需要的对象,如果返回 null
表示这个元素对象抛弃
2、修改元素对象,返回集合中为修改后的对象
T
- 数组元素类型array
- 数组editor
- 编辑器接口,null
返回原集合public static <T> T[] filter(T[] array, Filter<T> filter)
1、过滤出需要的对象,Filter.accept(Object)
方法返回true的对象将被加入结果集合中
T
- 数组元素类型array
- 数组filter
- 过滤器接口,用于定义过滤规则,null
返回原集合public static <T> T[] removeNull(T[] array)
null
元素T
- 数组元素类型array
- 数组public static <T extends CharSequence> T[] removeEmpty(T[] array)
null
或者"" 元素T
- 数组元素类型array
- 数组public static <T extends CharSequence> T[] removeBlank(T[] array)
null
或者""或者空白字符串 元素T
- 数组元素类型array
- 数组public static String[] nullToEmpty(String[] array)
array
- 数组public static <K,V> Map<K,V> zip(K[] keys, V[] values, boolean isOrder)
K
- Key类型V
- Value类型keys
- 键列表values
- 值列表isOrder
- 是否有序public static <K,V> Map<K,V> zip(K[] keys, V[] values)
K
- Key类型V
- Value类型keys
- 键列表values
- 值列表public static <T> int indexOf(T[] array, Object value, int beginIndexInclude)
PrimitiveArrayUtil.INDEX_NOT_FOUND
T
- 数组类型array
- 数组value
- 被检查的元素beginIndexInclude
- 检索开始的位置PrimitiveArrayUtil.INDEX_NOT_FOUND
public static <T> int indexOf(T[] array, Object value)
PrimitiveArrayUtil.INDEX_NOT_FOUND
T
- 数组类型array
- 数组value
- 被检查的元素PrimitiveArrayUtil.INDEX_NOT_FOUND
public static int indexOfIgnoreCase(CharSequence[] array, CharSequence value)
PrimitiveArrayUtil.INDEX_NOT_FOUND
array
- 数组value
- 被检查的元素PrimitiveArrayUtil.INDEX_NOT_FOUND
public static <T> int lastIndexOf(T[] array, Object value)
PrimitiveArrayUtil.INDEX_NOT_FOUND
T
- 数组类型array
- 数组value
- 被检查的元素PrimitiveArrayUtil.INDEX_NOT_FOUND
public static <T> int lastIndexOf(T[] array, Object value, int endInclude)
PrimitiveArrayUtil.INDEX_NOT_FOUND
T
- 数组类型array
- 数组value
- 被检查的元素endInclude
- 查找方式为从后向前查找,查找的数组结束位置,一般为array.length-1PrimitiveArrayUtil.INDEX_NOT_FOUND
public static <T> boolean contains(T[] array, T value)
T
- 数组元素类型array
- 数组value
- 被检查的元素public static <T> boolean containsAny(T[] array, T... values)
T
- 数组元素类型array
- 数组values
- 被检查的多个元素public static <T> boolean containsAll(T[] array, T... values)
T
- 数组元素类型array
- 数组values
- 被检查的多个元素public static boolean containsIgnoreCase(CharSequence[] array, CharSequence value)
array
- 数组value
- 被检查的元素public static Object[] wrap(Object obj)
obj
- 对象,可以是对象数组或者基本类型数组UtilException
- 对象为非数组public static boolean isArray(Object obj)
obj
- 对象null
返回falsepublic static <T> T get(Object array, int index)
T
- 数组元素类型array
- 数组对象index
- 下标,支持负数public static <T> T[] getAny(Object array, int... indexes)
T
- 数组元素类型array
- 数组,如果提供为null
则返回null
indexes
- 下标列表public static <T> T[] sub(T[] array, int start, int end)
T
- 数组元素类型array
- 数组start
- 开始位置(包括)end
- 结束位置(不包括)Arrays.copyOfRange(Object[], int, int)
public static Object[] sub(Object array, int start, int end)
array
- 数组start
- 开始位置(包括)end
- 结束位置(不包括)public static Object[] sub(Object array, int start, int end, int step)
array
- 数组start
- 开始位置(包括)end
- 结束位置(不包括)step
- 步进public static String toString(Object obj)
obj
- 集合或数组对象public static int length(Object array) throws IllegalArgumentException
null
,返回0
ArrayUtil.length(null) = 0 ArrayUtil.length([]) = 0 ArrayUtil.length([null]) = 1 ArrayUtil.length([true, false]) = 2 ArrayUtil.length([1, 2, 3]) = 3 ArrayUtil.length(["a", "b", "c"]) = 3
array
- 数组对象IllegalArgumentException
- 如果参数不为数组,抛出此异常Array.getLength(Object)
public static <T> String join(T[] array, CharSequence conjunction)
T
- 被处理的集合array
- 数组conjunction
- 分隔符public static <T> String join(T[] array, CharSequence delimiter, String prefix, String suffix)
T
- 被处理的集合array
- 数组delimiter
- 分隔符prefix
- 每个元素添加的前缀,null表示不添加suffix
- 每个元素添加的后缀,null表示不添加public static <T> String join(T[] array, CharSequence conjunction, Editor<T> editor)
T
- 被处理的集合array
- 数组conjunction
- 分隔符editor
- 每个元素的编辑器,null表示不编辑public static String join(Object array, CharSequence conjunction)
array
- 数组conjunction
- 分隔符public static byte[] toArray(ByteBuffer bytebuffer)
ByteBuffer
转byte数组bytebuffer
- ByteBuffer
public static <T> T[] toArray(Iterator<T> iterator, Class<T> componentType)
T
- 数组元素类型iterator
- Iterator
componentType
- 集合元素类型public static <T> T[] toArray(Iterable<T> iterable, Class<T> componentType)
T
- 数组元素类型iterable
- Iterable
componentType
- 集合元素类型public static <T> T[] toArray(Collection<T> collection, Class<T> componentType)
T
- 数组元素类型collection
- 集合componentType
- 集合元素类型public static <T> T[] remove(T[] array, int index) throws IllegalArgumentException
T
- 数组元素类型array
- 数组对象,可以是对象数组,也可以原始类型数组index
- 位置,如果位置小于0或者大于长度,返回原数组IllegalArgumentException
- 参数对象不为数组对象public static <T> T[] removeEle(T[] array, T element) throws IllegalArgumentException
T
- 数组元素类型array
- 数组对象,可以是对象数组,也可以原始类型数组element
- 要移除的元素IllegalArgumentException
- 参数对象不为数组对象public static <T> T[] reverse(T[] array, int startIndexInclusive, int endIndexExclusive)
T
- 数组元素类型array
- 数组,会变更startIndexInclusive
- 开始位置(包含)endIndexExclusive
- 结束位置(不包含)public static <T> T[] reverse(T[] array)
T
- 数组元素类型array
- 数组,会变更public static <T extends Comparable<? super T>> T min(T[] numberArray)
T
- 元素类型numberArray
- 数字数组public static <T extends Comparable<? super T>> T min(T[] numberArray, Comparator<T> comparator)
T
- 元素类型numberArray
- 数字数组comparator
- 比较器,null按照默认比较public static <T extends Comparable<? super T>> T max(T[] numberArray)
T
- 元素类型numberArray
- 数字数组public static <T extends Comparable<? super T>> T max(T[] numberArray, Comparator<T> comparator)
T
- 元素类型numberArray
- 数字数组comparator
- 比较器,null表示默认比较器public static <T> T[] shuffle(T[] array)
T
- 元素类型array
- 数组,会变更public static <T> T[] shuffle(T[] array, Random random)
T
- 元素类型array
- 数组,会变更random
- 随机数生成器public static <T> T[] swap(T[] array, int index1, int index2)
T
- 元素类型array
- 数组index1
- 位置1index2
- 位置2public static Object swap(Object array, int index1, int index2)
array
- 数组对象index1
- 位置1index2
- 位置2public static int emptyCount(Object... args)
null
或空元素对象的个数,通过ObjectUtil.isEmpty(Object)
判断元素args
- 被检查的对象,一个或者多个null
的数量public static boolean hasEmpty(Object... args)
null
或空对象,通过ObjectUtil.isEmpty(Object)
判断元素args
- 被检查对象public static boolean isAllEmpty(Object... args)
null
或空对象,通过ObjectUtil.isEmpty(Object)
判断元素args
- 被检查的对象,一个或者多个public static boolean isAllNotEmpty(Object... args)
null
或空对象,通过ObjectUtil.isEmpty(Object)
判断元素args
- 被检查的对象,一个或者多个public static <T> boolean isAllNotNull(T... array)
T
- 数组元素类型array
- 被检查的数组public static <T> T[] distinct(T[] array)
LinkedHashSet
去重T
- 数组元素类型array
- 数组public static <T,K> T[] distinct(T[] array, Function<T,K> uniqueGenerator, boolean override)
LinkedHashSet
去重T
- 数组元素类型K
- 唯一键类型array
- 数组uniqueGenerator
- 唯一键生成器override
- 是否覆盖模式,如果为true
,加入的新值会覆盖相同key的旧值,否则会忽略新加值public static <T,R> R[] map(T[] array, Class<R> targetComponentType, Function<? super T,? extends R> func)
T
- 原数组类型R
- 目标数组类型array
- 被转换的数组targetComponentType
- 目标的元素类型func
- 转换规则函数public static <T,R> R[] map(Object array, Class<R> targetComponentType, Function<? super T,? extends R> func)
T
- 原数组类型R
- 目标数组类型array
- 被转换的数组targetComponentType
- 目标的元素类型func
- 转换规则函数public static <T,R> List<R> map(T[] array, Function<? super T,? extends R> func)
List
T
- 原数组类型R
- 目标数组类型array
- 被转换的数组func
- 转换规则函数public static <T,R> Set<R> mapToSet(T[] array, Function<? super T,? extends R> func)
Set
T
- 原数组类型R
- 目标数组类型array
- 被转换的数组func
- 转换规则函数public static boolean equals(Object array1, Object array2)
array1
- 数组1array2
- 数组2public static <T> boolean isSub(T[] array, T[] subArray)
T
- 数组元素类型array
- 数组subArray
- 子数组public static <T> int indexOfSub(T[] array, T[] subArray)
T
- 数组元素类型array
- 数组subArray
- 子数组public static <T> int indexOfSub(T[] array, int beginInclude, T[] subArray)
T
- 数组元素类型array
- 数组beginInclude
- 查找开始的位置(包含)subArray
- 子数组public static <T> int lastIndexOfSub(T[] array, T[] subArray)
T
- 数组元素类型array
- 数组subArray
- 子数组public static <T> int lastIndexOfSub(T[] array, int endInclude, T[] subArray)
T
- 数组元素类型array
- 数组endInclude
- 查找结束的位置(包含)subArray
- 子数组public static <T> boolean isSorted(T[] array, Comparator<? super T> comparator)
T
- 数组元素类型array
- 数组comparator
- 比较器public static <T extends Comparable<? super T>> boolean isSorted(T[] array)
T
- 数组元素类型,该类型需要实现Comparable接口array
- 数组public static <T extends Comparable<? super T>> boolean isSortedASC(T[] array)
T
- 数组元素类型,该类型需要实现Comparable接口array
- 数组public static <T extends Comparable<? super T>> boolean isSortedDESC(T[] array)
T
- 数组元素类型,该类型需要实现Comparable接口array
- 数组Copyright © 2024. All rights reserved.