* 用來存放一組數據的數據結構
* 數組存放指定的數據類型
* 數組的長度不可變
* 數組中有默認值,
數字默認 0 或 0.0
boolean 默認 false
引用類型 默認 null
創建數組
1. int[] a = new int[5];
2. char[] a = {'h','e','l','l','o'};
3. char[] a = new char[]{'a','b','c'};
數組的長度屬性
a.length
數組中數據的訪問
a[0] = 43;
a[3] = 444;
int a = a[0];
int b = a[3];
數組的遍歷
從頭到尾依次訪問每個位置的值
for(int i=0;i<a.length;i++) {
...a[i]...
}
數組複製
Arrays.copyOf(原數組,新長度)
將數組複製爲指定長度的新數組
*) 新長度比原數組長度短: 截取
*) 新長度比原數組長度長: 增加新位置
System.arraycopy(
原數組,
原數組起始位置,
目標數組,
目標數組起始位置,
複製的數據個數)
java.util.Arrays
Arrays.toString(數組)
將數組中所有元素連接爲字符串
格式: "[元素1,元素2,元素3,元素4]"
Arrays.sort(數組)
數組排序
調優的快速排序算法
Arrays.copyOf(原數組, 新長度)
Arrays.binarySearch(數組, 尋找的目標數據)
二分法查找、折半查找
在有序數組中查找指定數據所在的位置,
返回下標值,
如果找不到,返回值無意義
* 存放數組的數組
二維數組的創建
1. int[][] a = new int[2][3];
2. int[][] a = new int[2][];
a[0] = new int[]{2,4,2,2,4};
a[1] = new int[]{7,4,8};
3. int[][] a = {
{2,3,4},
{1,2,3},
{7,6},
{2,3,5,7,9},
};
訪問
a[1][5]
遍歷
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
...a[i][j]...
}
}