Arrays工具类常用方法演示

java.util.Arrays是一个用来操作数组的工具类,包括了比较、排序、搜索等各种方法。

下面用简单的例子演示一下:

Arrays.toString(数组名)                    返回指定数组内容的字符串表示形式
Arrays.deepToString(数组名)            返回指定数组“深层”内容的字符串表示形式(深层表示二维及以上的多维数组)

public static void main(String[] args) {
		String[] arr1={"我","喜欢","很多钱","真的"};
		String[] arr2={"我","喜欢","很多钱","真的"};
		int[][] arr3={{123,234},{12,23,34},{0}};
		int[][] arr4={{123,234},{12,23,34},{0}};
		
		System.out.println(Arrays.toString(arr1));
		System.out.println(Arrays.toString(arr3));
		System.out.println(Arrays.deepToString(arr3));
}

运行结果:

Arrays.equals(数组名1,数组名2)                比较两个数组内容是否相等,相等返回true
Arrays.deepEquals(数组名1,数组名2)         比较两个数组“深层”内容是否相等,相等返回true

System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.deepEquals(arr3, arr4));
System.out.println(Arrays.equals(arr3, arr4));       //比较的是数组中存储的地址

运行结果:

Arrays.copyOf(原数组名,新数组长度)                            从0下标截取原数组的一定长度,返回一个新数组
Arrays.copyOfRange(原数组名,开始下标,结束下标)        从开始下标截取到结束下标(不包含),返回一个新数组

System.out.println(Arrays.toString(Arrays.copyOf(arr1, 3)));
System.out.println(Arrays.toString(Arrays.copyOfRange(arr1, 1,3))); 

运行结果:

Arrays.fill(数组名, 数据)                                  将该数据分配并替换到该数组的每个空间元素
Arrays.fill(数组名,开始下标,结束下标,数据)        将该数据分配并替换到该数组指定的范围(开始下标到结束下标(不包含))

Arrays.fill(arr1, "哈哈");
System.out.println(Arrays.toString(arr1));
Arrays.fill(arr1,1,3, "呵呵");
System.out.println(Arrays.toString(arr1));

运行结果:

Arrays.sort(数组名)                            对数组进行升序排序
Arrays.sort(数组名,开始下标,结束下标)        对数组从指定范围(开始下标到结束下标(不包含))进行升序排序

int[] arr111={3,1,7,4,6,2};
Arrays.sort(arr111);
System.out.println(Arrays.toString(arr111));
int[] arr222={3,1,7,4,6,2};
Arrays.sort(arr222,1,4);
System.out.println(Arrays.toString(arr222));

运行结果:

Arrays.binarySearch(数组名,数据)        首先要进行升序排序,然后该方法返回当前数组中该数据所对应的下标,若没有该数据,返回(-插入点)-1

int[] arr111={3,1,7,4,6,2};
Arrays.sort(arr111);
System.out.println(Arrays.toString(arr111));
int[] arr222={3,1,7,4,6,2};
Arrays.sort(arr222,1,4);
System.out.println(Arrays.toString(arr222));
//首先要进行升序排序,才能使用二分法查找
System.out.println(Arrays.binarySearch(arr111,6));
System.out.println(Arrays.binarySearch(arr111,5));    //没有5这个数,返回的是如果有5这个数,他应该所在位置的下标的负数减1

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值