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

createh53个月前 (02-01)技术教程25

众所周知,数组操作是比较复杂的,而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基础篇(java数组知识)

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

二十、Java数组(java数组的使用)

数组的基本概念数组是一种可以存储多个相同类型数据的数据结构,这些数据在内存中是连续存储的。数组中的每个数据项称为数组的元素,每个元素都可以通过索引来访问。Java中的数组属于对象类型,数组中的可以是基...

算法:有序数组的平方(Java版)(java 有序数组)

有序数组的平方题目描述:给定一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例:输入: nums = [-4,-1,0,3,10] 输出: [0,1...

DJL 之 Java 玩转多维数组,就像 NumPy 一样

本文适合有 Java 基础的人群作者:DJL-LankingHelloGitHub 推出的《讲解开源项目》系列。有幸邀请到了亚马逊 + Apache 的工程师:Lanking( https://git...

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

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

讲解C#中多维数组的长度和范围的特性和使用方法

在 C# 中,多维数组是一种可以包含多个维度(通常是二维或三维)的数组类型。理解其长度和范围的特性有助于正确使用和避免错误。以下是多维数组的长度、范围特性及其使用方法的详细讲解。1. 多维数组的定义和...