Apache commons工具类中的ArrayUtils

Apache commons

Java第三方增强组件包,它是最流行的Java拓展包,它包括了很多的组件,使用对应功能时需要引入不同的jar包

网址:

https://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html

commons-lang 基础语言增强包

commons-collections 集合相关

commons-logging 日志相关

commons-dbcp 数据源连接池

.......

本章主要总结数组工具类的方法

org.apache.commons.lang3 ----->Class ArrayUtils

数组方法总结(更多的方法点击网站了解):

增加元素

insert(int index, 数组元素类型[] array, .. values)(用这个!!!!)

public class Demo01 {
public static void main(String[] args) {
int[] arry={1,2,3,4,5,6};
int[] newarry= ArrayUtils.insert(1,arry,3,3);
System.out.println(ArrayUtils.toString(newarry));
结果{1,3,3,2,3,4,5,6}
}
}

add(数组元素类型[] array, int index, element)//可以指定位置添加

此方法已被 insert(int index, 数组元素类型[], ...values) 取代,可能会在未来的版本中删除。

例如:
boolean[] arr ={true,false,true,false};
//注意:若果不填写index,默认是在末尾添加
boolean[] newarr= ArrayUtils.add(arr,0,false);
System.out.printf(ArrayUtils.toString(newarr));

addAll(数组元素类型[] array1, ... array2)

将给定数组的所有元素添加到一个新数组中。

添加元素只能在新数组的末尾,不像add中可以指定位置

int[] arry={1,2,3,4,5};
int[] newarr= ArrayUtils.addAll(arry,0,8,9,8);
System.out.println(ArrayUtils.toString(newarr));
结果:{1,2,3,4,5,0,8,9,8}

addFirst(数组元素类型[] array, element)

复制给定数组并将给定元素添加到新数组的开头。

//注意只能添加一个
int[] arry={1,2,3,4,5};
int[] newarr= ArrayUtils.addFirst(arry,99);
System.out.println(ArrayUtils.toString(newarr));
结果:{99,1,2,3,4,5}

删除元素

remove(数组元素类型[] array, int index)

removeAll(数组元素类型[] array, int... indices)

int[] arr = {1, 4, 4, 3, 2, 5, 4};
//删除数组中所有指定的元素(数组中含有指定的元素,全部删除)
int[] newArr = ArrayUtils.removeAllOccurrences(arr, 4);
System.out.println(Arrays.toString(newArr));
结果:1325
//删除数组中指定多个下标的元素(根据下标来删除)
int[] newArr1 = ArrayUtils.removeAll(arr, 0, 1, 2);
System.out.println(Arrays.toString(newArr1));
结果:3254

值查找

contains(数组元素类型[] array, valueToFind)

如果查找值是否在给定的数组中,则为真

注意:其中double类型比较特殊会多一种方法使用:

contains(double[] array, double valueToFind, double tolerance)如果在公差范围内的值在数组中,则为真

//值查找
int[] arry={1,2,3,4,5};
System.out.println(ArrayUtils.toString(ArrayUtils.contains(arry,10))
//false

获取值(以后补充)

get(T[] array, int index))

Integer[] arry={1,2,3,4,5};
System.out.println(ArrayUtils.toString(ArrayUtils.get(arry,2)));

获取值的位置

indexOf(数组元素类型[] array, valueToFind,int startIndex)//查找的起始位置

//注意如果不写int startIndex默认从0开始
Integer[] arry={1,2,3,4,5};
int index = ArrayUtils.indexOf(arry,3,1);
int index1 = ArrayUtils.indexOf(arry,2);
System.out.println(index);//2
System.out.println(index1);//1

lastindexOf(数组元素类型[] array, valueToFind)

//用于查找数组中给定值的最后一个索引。比如数组中有重复元素,可以找到最后一个重复元素的位置
public class Demo01 {
public static void main(String[] args) {
int[] arry ={1,2,3,4,5,4};
int index = ArrayUtils.lastIndexOf(arry,4);
System.out.println(index);
}
}

获取数组长度

getLength(Object array)

Integer[] arry={1,2,3,4,5};
System.out.println(ArrayUtils.toString(ArrayUtils.getLength(arry)));

克隆元素

clone(克隆返回类型转换结果并处理 null 的数组)

//最主要的作用现在还无法理解,后面补充

int[] arry={1,2,3,4,5};
System.out.println(ArrayUtils.toString(ArrayUtils.clone(ArrayUtils.addFirst(arry,99))));
posted @   JanoCode  阅读(296)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示