刷题常用之数组工具类Arrays

一、java.util.Arrays类的定义

java.util.Arrays类是一个数组工具类,里面有很多静态方法可以直接供我们调用,去操作数组。
使用时需导包: import java.util.Arrays;

二、常用方法

  1. toString方法:把数组变为对应的String形式
int[] a = { 1,3,5,2,6,8};

System.out.println(Arrays.toString(a));
//结果:[1, 3, 5, 2, 6, 8]
  1. copyOf方法:可以把一个数组进行复制,该方法中也是采用了arraycopy方法来实现的功能
a = Arrays.copyOf(a,3); 
//第一位参数是要复制的数组
//第二位参数是要复制的长度,如果小于复制的数组长度则截取长度位数,如果大于复制数组长度则在多余的长度后面补零
System.out.println(Arrays.toString(a));
//结果:[1, 3, 5]

a = Arrays.copyOf(a,10); 

System.out.println(Arrays.toString(a));
//结果:[1, 3, 5, 0, 0, 0, 0, 0, 0, 0]
  1. sort方法:可以对数组进行排序(底层采用的是归并排序和快速排序还有插入排序相结合,根据数组长度来决定用哪种算法)
int[] a = { 1,3,5,2,6,8};

Arrays.sort(a);

System.out.println(Arrays.toString(a));
//结果:[1, 2, 3, 5, 6, 8]
  1. binarySearch方法:在数组中,查找指定的值,返回这个指定的值在数组中的下标,但是查找之前需要在数组中先进行排序,可以使用sort方法先进行排序(采用的二分查找)
int index = Arrays.binarySearch(a,5); 
//第一个参数是被查找的数组,第二个参数是要查询的值,
	//返回值为数组下标(数组下标从0开始)
System.out.println(index);
//结果:3
  1. equals方法:可以比较俩个数组是否相等,但是要求俩个数组中的值一一相等并且顺序也要一致才行,所以在比较之前,我们最好是用sort方法对俩个数组先进行排序
    第一个要求,俩个数组的元素个数相同
    第二个要求,俩个数组的每个下标对应的数据相同
int[] arr1 = {1,2,3}; 
int[] arr2 = {3,2,1};
Arrays.sort(arr1);
Arrays.sort(arr2);
System.out.println(Arrays.equals(arr1,arr2));
//结果:true

int[] arr1 = {1,2,3}; 
int[] arr2 = {3,2,1};
System.out.println(Arrays.equals(arr1,arr2));
//结果:false
  1. fill方法:可以使用一个特点的值,把数组中的空间全都赋成这个值
int[] a = {1, 3, 5, 2, 6, 8};

Arrays.fill(a,100); 

System.out.println(Arrays.toString(a));
//结果:[100, 100, 100, 100, 100, 100]
  1. asList方法:可以把一组数据,封装到一个List集合中,并且把list集合对象返回。
Integer[] a = {1, 3, 5, 2, 6, 8};
//不能使用基本类型,只能用包装类类型
List b = Arrays.asList(a);

System.out.println(b);
//结果:[1, 3, 5, 2, 6, 8]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值