Constructor and Description |
---|
ArrayWrapper(A array)
构造
|
Modifier and Type | Method and Description |
---|---|
ArrayWrapper<A,E> |
append(E element)
将新元素添加到已有数组中
添加新元素会生成一个新的数组,不影响原数组 |
ArrayWrapper<A,E> |
appendArray(A array)
将新数组追加到已有数组中
追加新数组会生成一个新的数组,不影响原数组 |
ArrayWrapper<A,E> |
edit(UnaryOperator<E> editor)
对每个数组元素执行指定操作,替换元素为修改后的元素
|
E |
firstMatch(Predicate<E> matcher)
返回数组中第一个匹配规则的值
|
E |
firstNonNull()
返回数组中第一个非空元素
|
E |
get(int index)
获取数组对象中指定index的值,支持负数,例如-1表示倒数第一个值
如果数组下标越界,返回null |
Class<?> |
getArrayType()
获得数组类型
|
Class<?> |
getComponentType()
获取数组对象的元素类型,方法调用参数与返回结果举例:
Object[] =》 Object.class
String[] =》 String.class
int[] =》 int.class
Integer[] =》 Integer.class
null =》 null
String =》 null
|
A |
getRaw()
获取原始对象
|
A |
getSub(int beginInclude,
int endExclude)
获取子数组
|
A |
getSub(int beginInclude,
int endExclude,
int step)
获取子数组
|
int |
indexOf(Object value)
返回数组中指定元素所在位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
int |
indexOf(Object value,
int offset)
返回数组中指定元素所在位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
ArrayWrapper<A,E> |
insert(int index,
E element)
将新元素插入到已有数组中的某个位置
如果插入位置为负数,从原数组从后向前计数,若大于原数组长度,则空白处用默认值填充
|
ArrayWrapper<A,E> |
insertArray(int index,
A arrayToInsert)
将新元素插入到已有数组中的某个位置
如果插入位置为负数,从原数组从后向前计数,若大于原数组长度,则空白处用默认值填充
|
boolean |
isEmpty()
数组是否为空
|
boolean |
isPrimitive()
是否原始类型数组
|
boolean |
isSorted(Comparator<E> comparator)
检查数组是否有序,升序或者降序
若传入空数组,则返回
false ;元素全部相等,返回 true |
boolean |
isSorted(Comparator<E> comparator,
boolean isDESC)
数组是否有有序
反序,前一个小于后一个则返回错
正序,前一个大于后一个则返回错
|
Iterator<E> |
iterator() |
int |
lastIndexOf(Object value)
返回数组中指定最后的所在位置,未找到返回
PrimitiveArrayUtil.INDEX_NOT_FOUND |
int |
length()
获取数组长度
|
int |
matchIndex(int offset,
Predicate<E> matcher)
返回数组中第一个匹配规则的值的位置
|
int |
matchIndex(Predicate<E> matcher)
返回数组中第一个匹配规则的值的位置
|
int |
matchLastIndex(int offset,
Predicate<E> matcher)
返回数组中最后一个匹配规则的值的位置(从后向前查找)
|
int |
matchLastIndex(Predicate<E> matcher)
返回数组中最后一个匹配规则的值的位置(从后向前查找)
|
static <A,E> ArrayWrapper<A,E> |
of(A array)
包装数组为ArrayWrapper
|
static <A,E> ArrayWrapper<A,E> |
of(Class<E> componentType,
int length)
创建ArrayWrapper,创建一个指定长度的空数组
|
ArrayWrapper<A,E> |
replace(int index,
A values)
从数组中的指定位置开始,按顺序使用新元素替换旧元素
如果 指定位置 为负数,那么生成一个新数组,其中新元素按顺序放在数组头部 如果 指定位置 大于等于 旧数组长度,那么生成一个新数组,其中新元素按顺序放在数组尾部 如果 指定位置 加上 新元素数量 大于 旧数组长度,那么生成一个新数组,指定位置之前是旧数组元素,指定位置及之后为新元素 否则,从已有数组中的指定位置开始,按顺序使用新元素替换旧元素,返回旧数组 |
ArrayWrapper<A,E> |
setOrAppend(int index,
E value)
将元素值设置为数组的某个位置,当给定的index大于等于数组长度,则追加
|
ArrayWrapper<A,E> |
setOrPadding(int index,
E value)
将元素值设置为数组的某个位置,当index小于数组的长度时,替换指定位置的值,否则追加
null 或0 直到到达index后,设置值 |
ArrayWrapper<A,E> |
setOrPadding(int index,
E value,
E paddingElement)
将元素值设置为数组的某个位置,当index小于数组的长度时,替换指定位置的值,否则追加
paddingElement 直到到达index后,设置值 |
ArrayWrapper<A,E> |
setOrPadding(int index,
E value,
E paddingElement,
int indexLimit)
将元素值设置为数组的某个位置,当index小于数组的长度时,替换指定位置的值,否则追加
paddingElement 直到到达index后,设置值 |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public ArrayWrapper(A array)
array
- 数组对象(非空)public static <A,E> ArrayWrapper<A,E> of(Class<E> componentType, int length)
A
- 数组类型E
- 数组元素类型componentType
- 元素类型length
- 长度public static <A,E> ArrayWrapper<A,E> of(A array)
A
- 数组类型E
- 元素类型array
- 数组(非空)public int length()
public boolean isPrimitive()
public Class<?> getComponentType()
public Class<?> getArrayType()
public boolean isEmpty()
public E get(int index)
index
- 下标,支持负数,-1表示最后一个元素public E firstNonNull()
null
public E firstMatch(Predicate<E> matcher)
matcher
- 匹配接口,实现此接口自定义匹配规则null
public int indexOf(Object value)
PrimitiveArrayUtil.INDEX_NOT_FOUND
value
- 被检查的元素PrimitiveArrayUtil.INDEX_NOT_FOUND
public int matchIndex(Predicate<E> matcher)
matcher
- 匹配接口,实现此接口自定义匹配规则PrimitiveArrayUtil.INDEX_NOT_FOUND
表示未匹配到public int indexOf(Object value, int offset)
PrimitiveArrayUtil.INDEX_NOT_FOUND
value
- 被检查的元素offset
- 开始的位置PrimitiveArrayUtil.INDEX_NOT_FOUND
public int matchIndex(int offset, Predicate<E> matcher)
matcher
- 匹配接口,实现此接口自定义匹配规则offset
- 检索开始的位置,不能为负数PrimitiveArrayUtil.INDEX_NOT_FOUND
表示未匹配到public int lastIndexOf(Object value)
PrimitiveArrayUtil.INDEX_NOT_FOUND
value
- 被检查的元素PrimitiveArrayUtil.INDEX_NOT_FOUND
public int matchLastIndex(Predicate<E> matcher)
matcher
- 匹配接口,实现此接口自定义匹配规则PrimitiveArrayUtil.INDEX_NOT_FOUND
表示未匹配到public int matchLastIndex(int offset, Predicate<E> matcher)
matcher
- 匹配接口,实现此接口自定义匹配规则offset
- 从后向前查找时的起始位置,一般为array.length - 1
PrimitiveArrayUtil.INDEX_NOT_FOUND
表示未匹配到public ArrayWrapper<A,E> setOrPadding(int index, E value)
null
或0
直到到达index后,设置值index
- 位置value
- 新元素或新数组public ArrayWrapper<A,E> setOrPadding(int index, E value, E paddingElement)
paddingElement
直到到达index后,设置值index
- 位置value
- 新元素或新数组paddingElement
- 填充public ArrayWrapper<A,E> setOrPadding(int index, E value, E paddingElement, int indexLimit)
paddingElement
直到到达index后,设置值index
- 位置value
- 新元素或新数组paddingElement
- 填充indexLimit
- 索引限制public ArrayWrapper<A,E> setOrAppend(int index, E value)
index
- 位置,大于等于长度则追加,否则替换value
- 新元素或新数组public ArrayWrapper<A,E> append(E element)
element
- 新元素或新数组public ArrayWrapper<A,E> appendArray(A array)
array
- 需要追加的数组数组public ArrayWrapper<A,E> insert(int index, E element)
index
- 插入位置,支持负数。此位置为对应此位置元素之前的空档element
- 单个元素public ArrayWrapper<A,E> insertArray(int index, A arrayToInsert)
index
- 插入位置,支持负数。此位置为对应此位置元素之前的空档arrayToInsert
- 新元素数组public ArrayWrapper<A,E> replace(int index, A values)
index
- 位置values
- 新值或新数组public ArrayWrapper<A,E> edit(UnaryOperator<E> editor)
editor
- 编辑器接口,为 null
则返回原数组public A getSub(int beginInclude, int endExclude)
beginInclude
- 开始位置(包括)endExclude
- 结束位置(不包括)Arrays.copyOfRange(Object[], int, int)
public A getSub(int beginInclude, int endExclude, int step)
beginInclude
- 开始位置(包括)endExclude
- 结束位置(不包括)step
- 步进public boolean isSorted(Comparator<E> comparator)
若传入空数组,则返回false
;元素全部相等,返回 true
comparator
- 比较器NullPointerException
- 如果数组元素含有null值public boolean isSorted(Comparator<E> comparator, boolean isDESC)
comparator
- Comparator
isDESC
- 是否反序Copyright © 2025. All rights reserved.