apache的数组工具类ArrayUtils

发布时间 2023-11-26 16:20:14作者: 残城碎梦

org.apache.commons.lang3.ArrayUtils是Apache提供的数组工具类。

<!-- StringUtils、NumberUtils等工具类 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.10</version>
</dependency>

数组转字符串

String[] arr = { "1", "2", "3"};
String str = ArrayUtils.toString(arr);
//输出:{1,2,3}

数组中是否包含某元素

String[] arr = {"1", "2", "3"};
boolean flag = ArrayUtils.contains(arr, "1");
//输出:true

二维数组转Map

String[][] p = {{"name", "bob"}, {"age", "18"}};
Map map = ArrayUtils.toMap(p);
//输出:{name=bob, age=18}

数组反转

String[] arr = { "1", "2", "3"};
ArrayUtils.reverse(arr);
//输出:{3,2,1}

给数组新增元素

int [] arr = {1,2};
int [] newArr = ArrayUtils.add(arr, 3);
//输出:{1,2,3}

合并两个数组

int [] arr1 = {1, 2};
int [] arr2 = {3, 4};
int [] newArr = ArrayUtils.addAll(arr1, arr2);
//输出:{1,2,3,4}

将Object[]转为String[]

Object[] arr = {1, "2", 1.23};
String[] newArr = ArrayUtils.toStringArray(arr);
//输出:{1,2,1.23}

将数组指定位置元素互换位置

int[] arr = {1, 3, 2};
ArrayUtils.swap(arr, 1, 2);
//输出:{1,2,3}

截取数组

需要注意的是:当索引越界时,会截取到极限索引为止,并不会异常

int[] arr = {1, 2, 3, 4};
int[] newArr = ArrayUtils.subarray(arr, 2, 4);
//输出:{3,4}

比较两数组类型

int[] arr1 = {1, 2, 3};
String[] arr2 = {"1", "2", "3"};
boolean flag = ArrayUtils.isSameType(arr1, arr2);
//输出:false