数组操作类Arrays类

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);
	}

}

执行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值