1.Arrays.sort()
一种快速排序的方法,效率相当高,例如在冒泡排序中,用截取时间来估计
long t1=System.currentTimeMillis();
int[] s=new int[10000];
for (int i = 0; i < s.length; i++) {
// s[i]=(int) (Math.random()*1000000);
// }
for (int i = 0; i < s.length-1; i++) {//冒泡排序:
// for (int j = 0; j < s.length-1-i; j++) {
// if(s[j]>s[j+1]){//交换位置
// int temp;
// temp=s[j];
// s[j]=s[j+1];
// s[j+1]=temp;
// }
// }
// }
long t2=System.currentTimeMillis();
System.out.println(t2-t1);//大概运算时间为14ms
而快速排序时间为3ms
2.Arrays.binarySearch();
二分查找:在数组两端定义头指针h与尾指针l,关键字key就为(h+l)/2,比较关键字与目标元素的大小关系,将h或l赋给key,重复操作可以查询到目标元素。
int low= fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = a[mid];
if (midVal < key)
low = mid + 1;
else if (midVal > key)
high = mid - 1;
else
return mid;
}
3.Arrays.copyof();
含两个参数,参数1:源数组,参数2:复制的长度
当复制长度超过源数组长度时,超出部分都为0
4.Arrays.copyofRange();
含三个参数,参数1:源数组,参数2:源数组开始截取位置,参数3:源数组结束截取位置(不包含此端点).
5.Arrays.toString();
将数组转换为字符串并打印出来
6.Arrays.equals();
比较两数组的值是否相同并返回一个布尔值,而”==“的是比较指向相同的地址位置
7.Arrays.compare();
将两数组的值,一 一对应比较,返回值可以理解为x-y,即相同返回0,前<后返回负数,前>后返回正数
8.System.arraycopy();
参数1: 源数组 参数2:源数组开始截取位置 参数3:目标数组的接收位置 参数4:截取长度
9.Arrays.fill();
将目标数组中元素重新填充,需要是同类型的填充值
例如:int[] s=new int[]{15,25,35,45};
double[] x=new double[]{1.0,2.1,3.2,4.3};
Arrays.fill(s,1);
System.out.println(Arrays.toString(s));// 输出为【1,1,1,1】
Arrays.fill(x,1.1);
System.out.println(Arrays.toString(x));// 输出为【1.1,1.1,1.1,1.1】
或者 以fromindex toindex val的形式给数组的某一段赋值
本文介绍了Java中几种常见的数组操作方法,如快速排序、二分查找、数组复制、数组范围复制、数组转换为字符串、数组比较以及填充数组。通过示例展示了它们的使用和效率,例如快速排序在特定场景下比冒泡排序更快。此外,还讲解了如何使用System.arraycopy()进行数组拷贝和Arrays.fill()填充数组元素。

256

被折叠的 条评论
为什么被折叠?



