数组工具类Arrays
1.1 Arrays.sort(数组)
对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。
对引用类型数组,使用优化后的合并排序算法。
1.2 Arrays.toString(数组)
把数组里的数据,用逗号连接成一个字符串。【值1,值2】
1.3 Arrays.deepToString(数组)
可以打印/遍历二位数组,代替for的嵌套循环
在上一节中代码解析,算了再打印一遍吧
package cn.qile.array;
import java.util.Arrays;
public class Test5 {
public static void main(String[] args) {
int[][] a = {
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 }
};
System.out.println(Arrays.toString(a));//地址值 -- [[I@12a3a380, [I@29453f44, [I@5cad8086]
System.out.println(Arrays.deepToString(a));//打印二位数组 -- [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
}
}
1.4 Arrays.copyOf(原数组,新的长度)
把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置
新数组长度小于原数组,相当于截取前一部分数据
大练习:
package cn.qile.array;
import java.util.Arrays;
import java.util.Random;
//测试数组的工具类
public class Test7_Arrays {
public static void main(String[] args) {
int[] array = method();//随机值数组
// [98, 73, 79, 78, 5]
System.out.println(Arrays.toString(array));
//sort()--对无需数组排序--默认是从小到大排序
//sort()底层的代码实现使用的排序算法是 优化之后的 快速排序算法
Arrays.sort(array);
//打印数组中的元素[5, 73, 78, 79, 98]
System.out.println(Arrays.toString(array));
//TODO 为什么sort()没有返回值 ,为什么copyOf()有返回值
//copyOf(m,n)--m是原数组的名称,n是新数组的长度
//数组的扩容 -- 新数组的长度 > 原数组的长度
int[] newA = Arrays.copyOf(array, 10);//完成数组的复制
// [5, 73, 78, 79, 98, 0, 0, 0, 0, 0] -- 数组的扩容
System.out.println(Arrays.toString(newA));
//数组的缩容 -- 新数组的长度 < 原数组的长度
int[] newB = Arrays.copyOf(array, 3);//完成数组的复制
// [5, 73, 78] -- 数组的缩容
System.out.println(Arrays.toString(newB));
}
//随机值数组
public static int[] method(){
//1、创建数组
int[] a = new int[5];
//2、遍历数组并改值
for(int i = 0 ; i < a.length ; i++ ) {
a[i] = new Random().nextInt(100);
}
//3、把无序数组返回调用位置
return a;
}
}
下一期:java入门(十三) | 变量
关注【其乐不是码农】,回复【java入门】,提前观看下期内容!!
其乐等待着你的到来