100个Java工具类之77:数组操作的可靠助手ArrayUtils和Arrays

createh54个月前 (02-01)技术教程48

众所周知,数组操作是比较复杂的,而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

以上就是关于数组操作的工具类的部分介绍,在实际操作过程中,需要灵活组合使用。


相关文章

java程序员必备的基础知识之数组的定义和使用

如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName;type 为Java中的任...

Java学习之数组——java基础篇(java数组知识)

如果希望保存一组有相同类型的数据,可以使用数组。数组的定义和内存分配Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName;type 为Java中的任...

灵魂拷问:如何检查 Java 数组中是否包含某个值?

作者 | 沉默王二责编 | Elle在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题。比如说:如何检查Java数组中是否包含某个值 ?像这类灵魂拷问的主题,非常值得深入地研...

趣味玩转数组:Java中的数组遍历技巧

当涉及到Java语言中的数组遍历和操作,我们可以从基本概念开始,逐步深入,以确保您理解得更全面。我们将覆盖以下主题:数组的基本概念声明和初始化数组数组的遍历常见的数组操作让我们一步一步来讲解这些内容:...

从零开始学Java-006-二维数组(java二维数组的用法)

二维数组二维数组是一种特殊形式的一维数组,二维数组的每一个元素都是一个一维数组声明数组和一维数组一样,在使用数组之前,要先定义数组所属的数据类型,即声明二维数组。声明二维数组一共有两种语法格式。第1种...

LeetCode-215-数组中的第K个最大元素

数组中的第K个最大元素题目描述:给定整数数组 nums 和整数 k,请返回数组中第 **k** 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例说明...