Arrays类

本文深入解析了Java中Arrays类的使用,展示了如何通过fill方法快速填充数组,sort方法对数组进行排序,以及equals方法用于数组元素比较。此外,还介绍了使用Arrays类进行数组元素的二分查找。通过实例代码,直观理解数组操作的便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:

 给数组赋值:通过fill方法。

 对数组排序:通过sort方法,按升序。

 比较数组:通过equals方法比较数组中元素值是否相等。

 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

 

 

import java.util.Arrays;

public class TestArrays {

public static void output(int[] array) {

if (array!=null{

for (int 0; array.lengthi++) {

System.out.print(array[i]+");

}

}

System.out.println();

}

public static void main(String[] args) {

int[] array new int[5];

//填充数组

Arrays.fill(array, 5);

System.out.println("填充数组:Arrays.fill(array, 5):");

TestArrays.output(array);

 

//将数组的第2和第3个元素赋值为8

Arrays.fill(array, 2, 4, 8);

System.out.println("将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):");

TestArrays.output(array);

 

int[] array1 {7,8,3,2,12,6,3,5,4};

//对数组的第2个到第6个进行排序进行排序

Arrays.sort(array1,2,7);

System.out.println("对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array,2,7):");

TestArrays.output(array1);

 

//对整个数组进行排序

Arrays.sort(array1);

System.out.println("对整个数组进行排序:Arrays.sort(array1):");

TestArrays.output(array1);

 

//比较数组元素是否相等

System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):"+"\n"+Arrays.equals(array, array1));

int[] array2 array1.clone();

System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):"+"\n"+Arrays.equals(array1, array2));

 

//使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确)

Arrays.sort(array1);

System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"+"\n"+Arrays.binarySearch(array1, 3));

//如果不存在就返回负数

System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"+"\n"+Arrays.binarySearch(array1, 9));

}

}

 

输出结果:

填充数组:Arrays.fill(array, 5):
5 5 5 5 5
将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):
5 5 8 8 5
对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array,2,7):
7 8 2 3 3 6 12 5 4
对整个数组进行排序:Arrays.sort(array1):
2 3 3 4 5 6 7 8 12
比较数组元素是否相等:Arrays.equals(array, array1):
false
克隆后数组元素是否相等:Arrays.equals(array1, array2):
true
元素3在array1中的位置:Arrays.binarySearch(array1, 3):
1
元素9在array1中的位置:Arrays.binarySearch(array1, 9):
-9
### Java Arrays 的功能与使用方法 #### 1. 概述 `Arrays` 是 Java 中的一个工具,位于 `java.util` 包中。它提供了丰富的静态方法用于操作数组,包括排序、搜索、填充以及将数组转换为列表等功能[^2]。 要使用该中的方法,需先通过以下语句导入: ```java import java.util.Arrays; ``` #### 2. 常见功能及其使用方法 ##### (1) 排序 `Arrays.sort()` 方法可用于对数组进行升序排列。对于原始型的数组(如 int[]),会直接对其进行排序;而对于对象数组,则依赖于实现的 `Comparable` 或者传入自定义的 `Comparator` 进行排序。 ```java int[] numbers = {5, 3, 8, 1}; Arrays.sort(numbers); // 结果:{1, 3, 5, 8} System.out.println(Arrays.toString(numbers)); ``` 上述代码展示了如何利用 `sort` 对整型数组进行排序。 ##### (2) 查找 `Arrays.binarySearch()` 可以高效地在一个已排序的数组中查找指定元素的位置。需要注意的是,只有当数组已经经过排序时才能正确返回结果。 ```java int index = Arrays.binarySearch(numbers, 5); if(index >=0){ System.out.println("Found at position "+index); } else { System.out.println("Not found"); } ``` 这里说明了二分法搜寻特定数值所在索引位置的过程[^4]。 ##### (3) 填充 `Arrays.fill(array, value)` 能够快速设置整个数组或者部分区域内的所有项都等于某个固定值。 ```java double[] doubles = new double[5]; Arrays.fill(doubles, 7.5); // 输出:[7.5, 7.5, 7.5, 7.5, 7.5] System.out.println(Arrays.toString(doubles)); ``` 此片段体现了 fill 函数的作用[^1]。 ##### (4) 数组转字符串表示形式 为了更直观地打印出数组的内容而非默认的对象地址信息,可采用 `toString()` 方法获取其内部元素组成的字符串描述。 ```java String strArrayRep = Arrays.toString(new String[]{"apple", "banana"}); System.out.println(strArrayRep); // "[apple, banana]" ``` 这段演示了 toString 的实际应用案例[^3]。 ##### (5) 复制 如果希望复制一份现有数组的新实例而不是共享同一内存空间的话,那么可以考虑运用 copyOf/copyOfRange 来达成目的。 ```java char[] original = {'a', 'b', 'c'}; char[] copy = Arrays.copyOf(original, original.length); boolean sameReference = original == copy; // false ``` 此处解释了如何安全地克隆字符型数组而不影响原版数据结构。 #### 总结 综上所述,`Arrays` 提供了一系列便捷实用的方法简化开发者针对数组的操作流程,极大提升了编码效率并减少了重复劳动量。无论是简单的初始化还是复杂的算法处理场景下都能见到它的身影。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值