100个Java工具类之77:数组操作的可靠助手ArrayUtils和Arrays
众所周知,数组操作是比较复杂的,而ArrayUtils就是为了为简化数组操作而生的,它在数组查找、排序、合并等方面提供了多种方法,合理使用,可以让代码看起来更简洁易用,下面通过几个实例来对其进行介绍。
一、获取元素索引
int[] arr = {1, 2, 3};
int i = ArrayUtils.indexOf(arr, 2);
System.out.println("2的索引是:" + i);
输出:2的索引是:1
二、数组合并
int[] arr1 = {1, 2};
int[] arr2 = {3, 4};
int[] arr3 = ArrayUtils.addAll(arr1, arr2);
System.out.println(ArrayUtils.toString(arr3));
输出:{1,2,3,4}
三、数组反转
int[] arr = {1, 2, 3};
ArrayUtils.reverse(arr);
System.out.println(ArrayUtils.toString(arr));
输出:{3,2,1}
四、数组截取
int[] arr1 = {1, 2, 3};
//包头不包尾
int[] arr2 = ArrayUtils.subarray(arr1, 0, 2);
System.out.println(ArrayUtils.toString(arr2));
输出:{1,2}
五、数组排序
int[] arr = {3, 1, 2};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
输出:{1,2,3}
六、数组填充
int[] arr = new int[3];
Arrays.fill(arr, 1);
System.out.println(Arrays.toString(arr));
输出:[1, 1, 1]
七、数组复制
//类似于ArrayUtils.subarray数组截取
int[] arr1 = {1, 2, 3};
int[] arr2 = Arrays.copyOfRange(arr1, 0, 2);
System.out.println(Arrays.toString(arr2));
输出:[1, 2]
八、数组比较
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 4};
System.out.println(Arrays.equals(arr1, arr2));
输出:false
以上就是关于数组操作的工具类的部分介绍,在实际操作过程中,需要灵活组合使用。