智渔课堂官方免费教程二十七:Java基础教程之Arrays类

时间:2022-01-17 16:17:30

Arrays类

数组的一个工具类,提供了一些静态的方法,用于操作数组;
不多说,直接上例子

实例://声明包
package array;
//导入包
//作用:告诉系统,ArraysDemo类中用到Arrays类时去java.util包下找Arrays类
import java.util.Arrays;
/**
* 演示Arrays类的常用方法
* @author 学霸联盟 - 赵灿
*/
public class ArraysDemo {
public static void main(String[] args) {
// 声明三个数组
int[] array1 = { 1, 2, 3 };
int[] array2 = { 1, 2, 3 };
int[] array3 = { 1, 2, 3, 6, 5, 4 };

System.out.println("---------- 比较两个数组 ----------");
//比较数组array1和array2中的内容是否相同
boolean compare12Result = Arrays.equals(array1, array2);
//比较数组array2和array3中的内容是否相同
boolean compare23Result = Arrays.equals(array1, array3);
System.out.println("array1和array2的比较结果为:"+compare12Result);
System.out.println("array2和array3的比较结果为:"+compare23Result);

/*
* 第一个参数:传入被复制的数组,第二个参数:复制的新数组长度
* 当新数组的长度大于旧数组长度时,多出的部分用数据类型对应的默认值填充
* array1:[1, 2, 3]使用以下代码复制后arrayCopy:[1, 2, 3, 0, 0]
*/
int[] arrayCopy = Arrays.copyOf(array1, 5);
System.out.println("----------- 原数组 -----------");
//遍历原数组
arrayToString(array1);
System.out.println("----------- 复制的数组 -----------");
//遍历复制的数组
arrayToString(arrayCopy);

System.out.println("---------- 替换值前的数组 ----------");
//遍历替换前的数组array1
arrayToString(array1);
System.out.println("---------- 替换值后的数组 ----------");
/*
* 将数组中所有的值替换为同一个值
* 第一个参数:被替换的数组
* 第二个参数:替换后的值
*/
Arrays.fill(array1, 10);
//遍历替换后的数组array1
arrayToString(array1);

System.out.println("---------- 排序前的数组 ----------");
//遍历排序前的数组array3
arrayToString(array3);
//给数组array3排序(只能按升序排序)
Arrays.sort(array3);
System.out.println("---------- 排序后的数组 ----------");
//遍历排序后的数组array3
arrayToString(array3);

System.out.println("----- 使用二分法(折半)查找元素 -----");
//使用二分法查找数组中的元素,被查找数组必须按升序排序
int index = Arrays.binarySearch(array3, 4);
System.out.println("4在数组array3中的下标是:" + index);
}

/**
* 将数组转换为字符串形式,并输出
*/
private static void arrayToString(int[] array) {
//将数组内容转换为字符串
String arrayStr = Arrays.toString(array);
System.out.println(arrayStr);
}
}
运行结果:
--------- 比较两个数组 ---------
array1和array2的比较结果为:true
array2和array3的比较结果为:false
----------- 原数组 -----------
[1, 2, 3]
----------- 复制的数组 -----------
[1, 2, 3, 0, 0]
--------- 替换值前的数组 ---------
[1, 2, 3]
--------- 替换值后的数组 ---------
[10, 10, 10]
--------- 排序前的数组 ---------
[1, 2, 3, 6, 5, 4]
--------- 排序后的数组 ----------
[1, 2, 3, 4, 5, 6]
----- 使用二分法(折半)查找元素 -----
4在数组array3中的下标是:3