1. Arrays类
(1)JDK中提供了一个专门用于操作数组的工具类,即Arrays类,位于java.util包中。
(2)该类提供了一系列方法来操作数组,如排序、复制、比较、填充等,用户直接调用这些方法即可,不需要自己编码实现,降低了开发难度。
(3)Arrays类的常用方法介绍
2、Arrays类的应用
(1)比较两个数组是否相等
Arrays类的equals()方法用于比较两个数组是否相等。只有当两个数组长度相等,对应位置的元素也一一相等时,该方法返回true;否则返回false。
(2)对数组的元素进行升序排列
Arrays类的sort()方法对数组的元素进行升序排列,即以从小到大的顺序排列。
(3)将数组转换成字符串
Arrays类中提供了专门输出数组内容的方法——toString()方法。该方法用于将一个数组转换成一个字符串。
它按顺序把多个数组元素连在一起,多个数组元素之间使用英文逗号和空格隔开。
利用这种方法可以很清楚地观察到各个数组元素的值。
(4)将数组所有元素赋值为相同的值
Arrays类的fill(array,val)方法用于把数组array的所有元素都赋值为val。
(5)将数组复制成一个长度为设定值的新数组
使用Arrays类的copyOf()方法把数组复制成一个长度为设定值的新数组。
(6)查询元素在数组中的下标
Arrays类的binarySearch()方法用于查询数组元素在数组中的下标。
调用该方法时要求数组中的元素已经按升序排列,这样才能得到正确的结果。
代码演示
public class Demo09 {
public static void main(String[] args) {
/* boolean equals(数组名1,数组名2)
String toString(数组名)
void fill(数组名,数据)
数据类型[] copyOf(数组名,长度)
数据类型[] copyOfRange(数组名,起始下标,结束下标)
int binarySearch(int[] a,int key)
*/
int[] arr1 = new int[]{12,23,34,45,56,78};
int[] arr2 = new int[]{12,23,34,45,65,78};
//boolean equals(数组名1,数组名2):
//比较两个数组中的元素是否完全一致(比较对应下面上的元素是否相同),
//如果所有元素值都相同,返回true,否则返回false
boolean flag= Arrays.equals(arr1,arr2);
System.out.println(flag);
//String toString(数组名):将数组转换成字符串输出
String str = Arrays.toString(arr1);
System.out.println(str);
//void fill(数组名,数据):将数组中所有的元素值替换为你指定数据
String[] str1 = new String[]{"hello","world","OK","gaoxin"};
Arrays.fill(str1, "qwerty");
System.out.println(Arrays.toString(str1));
/*数据类型[] copyOf(数组名,长度):赋值指定数组中指定长度的元素,
* 生成一个新的对应类型的数组,当复制的长度小于等于被复制数组长度的时候,
取数组里的元素,如果复制的长度大于被复制的数组长度,不够的元素用默认值补充*/
char[] chr = {'a','s','d','f','g'};
char[] copyChr = Arrays.copyOf(chr, 10);
System.out.println(Arrays.toString(copyChr));
/*数据类型[] copyOfRange(数组名,起始下标,结束下标):复制指定数组中起始
下标到结束下标之间的元素,注意,包括起始下标的元素,不包括结束下标的元素*/
char[] copyChr2 = Arrays.copyOfRange(chr, 2, 4);
System.out.println(Arrays.toString(copyChr2));
/*int binarySearch(int[] a,int key)使用二分搜索法来搜索
指定的 int 型数组,以获得指定的值。必须在进行此调用之前对
数组进行排序(通过 sort(int[]) 方法)。如果没有对数组进行
排序,则结果是不确定的。如果数组包含多个带有指定值的元素,
则无法保证找到的是哪一个。*/
int[] arr4={23,5,45,32,889,90,45};
Arrays.sort(arr4);
System.out.println(Arrays.toString(arr4));
int index = Arrays.binarySearch(arr4, 32);
System.out.println("你找的元素下标为:"+index);
}
}
执行结果