为实现数组的排序和查找,数组的比较和对数组的填充元素,java.util.Arrays类包括各种各样的静态方法。这些方法都有对所有的基本类型的重载方法。
一 sort(数组名):
Arrays.sort(array);对数组array进行顺序排序
二 toString(数组名):
Arrays.toString(array);将数组array转换成字符串
三 binarySearch(数组名,元素)
int m = Arrays.binarySearch(array,10);
该方法是二分查找法,使用之前必须排序,上述代码为查找array数组中元素10的索引;
如果有10则返回10的索引,如果没有则返回一个-1;
四 arraycopy(原数组,原数组的具体索引,目标数组,目标数组的索引,copy的长度)
public class arrayTest {
public static void main(String[] args) {
int[] array = {1,2,3,4};
int []num = {11,22,33,44};
//从数组array索引为1的地方开始复制3个元素给数组num,从数组num的索引为0开始排序
System.arraycopy(array, 1, num, 0, 3);
System.out.println(Arrays.toString(num));
}
}
结果:
[2, 3, 4, 44]
五 copyOf(数组名,数组长度);
public class arrayTest {
public static void main(String[] args) {
int[] array = {1,2,3,4};
//数组复制
int []num =Arrays.copyOf(array, array.length);
//数组扩容
int []num1 =Arrays.copyOf(array, array.length+1);
//缩小数组容量
int []num2 =Arrays.copyOf(array, array.length-1);
System.out.println(Arrays.toString(num));
System.out.println(Arrays.toString(num1));
System.out.println(Arrays.toString(num2));
}
}
结果
[1, 2, 3, 4]
[1, 2, 3, 4, 0]
[1, 2, 3]
六 copyOfRange (数组,起始索引,结束索引)
数组复制,左闭右开原则
public class arrayTest {
public static void main(String[] args) {
int[] number = {1,2,3,4,5,6,7};
int[] array = Arrays.copyOfRange(number, 2, 5);
System.out.println(Arrays.toString(array));
}
}
结果:
[3, 4, 5]
七 fill(数组,元素)或者 fill(数组,起始索引,结束索引,元素)
数组填充,左闭右开原则
public class arrayTest {
public static void main(String[] args) {
int[] array = {1,2,3,4};
int[] number = {1,2,3,4,5,6,7};
//数组填充,注意此处会将array中的所有元素替换成100
Arrays.fill(array,100);
Arrays.fill(number,1,5,100);
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(number));
}
}
结果:
[100, 100, 100, 100]
[1, 100, 100, 100, 100, 6, 7]
八 equals(数组1,数组2)
public class arrayTest {
public static void main(String[] args) {
int[] number = {1,2,3,4,5,6,7};
int[] num = {1,2,3,4,5,6,7};
int[] array = {1,2,3,4,5,6,7,8};
System.out.println(Arrays.equals(number, num));
System.out.println(Arrays.equals(number, array));
}
}
结果
true
false