Arrays 类
-
数组的工具类java.util.Arrays
-
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用从而可以对数据对象进行一些基本的操作。
-
查看JDK帮助文档
-
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用"而不是"不能")
-
具有以下常用功能:
- 给数组赋值:通过 fill 方法
- 对数组排序:通过 sort 方法按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
package com.xiesy.array;
import java.util.Arrays;
public class ArrayDemo06 {
public static void main(String[] args) {
int[] a = {2, 30, 39, 33, 45, 2324, 222, 2221, 231, 2, 1, 0};
int[] b = {1, 1, 2, 3};
int[] d = {1, 1, 2, 3};
//打印数组
System.out.println("=======================原数组======================");
Arrays.toString(a);
System.out.println(Arrays.toString(a));
//数组排序 升序
System.out.println("=====================数组排序 升序==================");
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.println("=====================二分法查找======================");
System.out.println( Arrays.binarySearch(a,231));
//将指定的int值分配给指定的int数组的每个元素。
System.out.println("===================把数组0-8换成0====================");
Arrays.fill(a, 0, 8, 0);
System.out.println(Arrays.toString(a));
//复制数组,扩长数组
System.out.println("=================复制数组b,扩长数组到10===============");
int[] c = Arrays.copyOf(b, 10);
System.out.println(Arrays.toString(c));
//通过 equals 方法比较数组中元素值是否相等。
System.out.println("=========equals 方法比较数组中元素值是否相等=============");
System.out.println(Arrays.equals(a,b));//false
System.out.println(Arrays.equals(b,d));//ture
}
}
输出结果:
=======================原数组======================
[2, 30, 39, 33, 45, 2324, 222, 2221, 231, 2, 1, 0]
=====================数组排序 升序==================
[0, 1, 2, 2, 30, 33, 39, 45, 222, 231, 2221, 2324]
=====================二分法查找======================
9
===================把数组0-8换成0====================
[0, 0, 0, 0, 0, 0, 0, 0, 222, 231, 2221, 2324]
=================复制数组b,扩长数组到10===============
[1, 1, 2, 3, 0, 0, 0, 0, 0, 0]
=========equals 方法比较数组中元素值是否相等=============
false
true
Process finished with exit code 0