org.apache.commons.lang3.ArrayUtils
- 向数组末尾添加元素
ArrayUtils.add(strs, "str3");
- 向数组指定位置添加元素
ArrayUtils.add(strs, 1, "str3");
- 向数组中添加所有元素
ArrayUtils.addAll(strs, "str3", "str4");
- 从数组中移除指定索引的元素
ArrayUtils.remove(strs, 1);
- 从数组中移除所有指定索引的元素
ArrayUtils.remove(strs, 1, 2);
- 移除数组中指定的元素
ArrayUtils.removeElement(strs, "str1");
- 移除数组中指定的所有元素
ArrayUtils.removeElements(strs, "str1", "str2");
- 拷贝数组
int[] arr1 = {1,2,3}; int[] arr2 = ArrayUtils.clone(arr1); // {1,2,3}
- 从目标数组提取子数组
String[] arr1 = {"1","2","3","4","5"}; String[] arr2 = ArrayUtils.subarray(arr1, 1, 3); //2,3
- 获取数组的长度
ArrayUtils.getLength(strs);
- 反转数组
ArrayUtils.reverse(strs);
- 判断数组是否为空 / 非空
ArrayUtils.isEmpty(strs);
ArrayUtils.isNotEmpty(strs);
- 判断两个数组是否相等
int[] arr1 = {1,2,3}; int[] arr2 = {1,2,3}; System.out.println(ArrayUtils.isEquals(arr1, arr2)); //true
- 判断数组长度是否相等
ArrayUtils.isSameLength(str1, str2);
- 判断数组类型是否相同
ArrayUtils.isSameType(str1, str2);
- 判断数组中是否包含指定的元素
ArrayUtils.contains(strs, "str2");
- 查找第一次出现的位置
ArrayUtils.indexOf(strs, "str2"); ArrayUtils.indexOf(strs, 1,"str2"); // 数字代表起始下标
- 查找数组中最后出现元素的位置
ArrayUtils.lastIndexOf(strs, "str2"); ArrayUtils.lastIndexOf(strs, 2,"str2"); // 数字代表起始下标
- null转换成空数组
String[] arr1 = null; String[] arr2 = ArrayUtils.nullToEmpty(arr1); // {}
- 将数组用字符串的形式输出
int[] arr = {1,2,3,4}; String str = ArrayUtils.toString(arr); System.out.println(str); // {1,2,3,4} String[] arr = null; String str = ArrayUtils.toString(arr,"NULL"); System.out.println(str); //NULL
- 将二维数组转换成Map
String mapStr[][] = { { "key1", "value1" }, { "key2", "value2" } }; System.out.println(ArrayUtils.toMap(mapStr)); //{key1=value1, key2=value2}
- 将基本类型数组转换成包装类型
ArrayUtils.toObject(new int[] { 1, 2, 3, 4, 5 });
- 将包装类型数组转换成基本类型
ArrayUtils.toPrimitive(new Integer[] { 1, 2, 3, 4, 5 });