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)); 结果:1,3,2,5 //删除数组中指定多个下标的元素(根据下标来删除) int[] newArr1 = ArrayUtils.removeAll(arr, 0, 1, 2); System.out.println(Arrays.toString(newArr1)); 结果:3,2,5,4
值查找
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))));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)