Java数组的工具类Arrays
Arrays.toString(数组名)
//数组内容的输出
public class Array {
public static void main(String[] args) {
char[] a = {'h','e','l','l','o'};
System.out.println(a);
}
}
//数组内容的显示
public class Array {
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7};
System.out.println(a);
System.out.println(Arrays.toString(a));
}
}
如图所示,在数组中如果数组中存放的是字符类型,则使用System.out.println(数组名);输出的结果为数组中的内容,否则当数组中存放的是其他类型,则使用System.out.println(数组名);输出的结果为该数组的地址值,如果想要输出数组中的内容需要使用Arrays类中的toString(数组名);
Arrays.sort(数组名)
/**本类用于测试数组的工具类Arrays*/
public class ArraysSort {
public static void main(String[] args) {
int[] a = {21,96,75,23,25};
Arrays.sort(a);//对无序数组进行直接排序
System.out.println(Arrays.toString(a));
}
}
如图所示,Array.sort(数组名)的主要功能是对数组进行排序,对于基本类型底层使用的是优化后的快速排序算法,效率高。
Arrays.copyOf(数组,新的长度)
public class ArraysCopyOf {
public static void main(String[] args) {
int[] from = {1,2,3,4,5};
int[] to = Arrays.copyOf(from, 5);
System.out.println(Arrays.toString(to));
int[] to2 = Arrays.copyOf(from, 10);
System.out.println(Arrays.toString(to2));
int[] to3 = Arrays.copyOf(from, 3);
System.out.println(Arrays.toString(to3));
int[] to4 = Arrays.copyOfRange(from, 2, 4);
System.out.println(Arrays.toString(to4));
}
}
分析上述代码块以及运行结果,可知 Arrays.copyOf(数组,新的长度)的主要功能是复制一个指定长度的新数组,如果新的数组的长度大于原来的数组长度,相当于复制以后,再增加位置;如果新数组的长度小于原来的数组长度,相当于截取一部分数据。
注意:一个数组一旦被创建,其长度就已经确定了,使用Arrays.copyOf(数组,新的长度)时,相当于创建了一个新的数组,对原来的数组长度以及内容没有进行任何的改变。