Java基础:03数组
数组的使用
内存解析:
数组元素的默认初始化值:
有地址值意味着初始化过
初始化方式一:比如:int[][] arr = new int[4][3];
- 外层元素的初始化值为:地址值
- 内层元素的初始化值为:定义类型的默认初始化值
初始化方式二:比如:int[][] arr = new int[4][];
- 外层元素的初始化值为:null(默认还都是一维数组)
- 内层元素的初始化值为:不能调用,否则报NullPointerException。
常用算法
1. 数组的赋值:
2. 数组的复制:
3. 数组元素的反转:
4. 数组中元素的查找:
方式一:线性查找
或者用i==arr.length判断是否存在
方式二:二分法查找
每次比较中间值,折半的方式检索。
5. 数组的排序算法:
1)冒泡排序
for(int i = 0;i < arr.length - 1;i++){
for(int j = 0;i < arr.length - 1 - i;i++){
if(arr[j] >ar[j + 1]{
int temp = arr[j];
arr[j] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
2)快速排序
Arrays工具类的使用
排序 | 方法 | 功能 |
---|---|---|
1 | boolean equals(int[] a,int[] b) | 判断两个数组是否相等 |
2 | String toString(int[] a) | 输出数组信息 |
3 | void fill(int[] a,int val | 将指定值填充到数组之中 |
4 | void sort(int[] a) | 对数组进行排序 |
5 | int binarySearch(int[] a,int key) | 对排序后的数组进行二分法检索指定的值 |
6 | copyOf(原数组,新数组长度) | 复制数组 |
7 | copyOfRange(原数组,from,to) | 复制数组[from,to) |
使用:
1.导包:import java.util.Arrays;
2.调用方法
数组的常见异常