一维数组初始化:
// 初始化数组 1
int[] arrays = new int[3];
System.out.println(Arrays.toString(arrays));
// 2
int[] arrays1 = new int[] { 1, 2, 3 };
System.out.println(Arrays.toString(arrays1));
// 3
int[] arrays2 = { 4, 5, 6 };
System.out.println(Arrays.toString(arrays2));
*[0, 0, 0]
*[1, 2, 3]
*[4, 5, 6]
二维数组初始化
int [ ][ ] arr ;
arr = new int [ 一维数 ][ ]; //动态创建第一维
for ( i = 0 ; i < 一维数 ; i++ ) {
arr [ i ] = new int [ 二维数 ]; //动态创建第二维
for( j=0 ; j < 二维数 ; j++) {
arr [ i ][ j ] = j;
}
}
数组扩容:
int[] i = new int[7];
Arrays.fill(i, 47);
System.out.println("i:" + Arrays.toString(i));
// Object src, int srcPos, Object dest, int destPos,int length
int[] j = new int[i.length];
// i复制到j
System.arraycopy(i, 0, j, 0, i.length);
System.out.println("j:" + Arrays.toString(j));
// 扩容方法一
// 开辟空间
int[] k = new int[j.length + 1];
// 复制j到k,容量多一
System.arraycopy(j, 0, k, 0, j.length);
System.out.println("k" + Arrays.toString(k));
// 方法二
int[] m = Arrays.copyOf(j, j.length + 2);
System.out.println("m" + Arrays.toString(m));
i:[47, 47, 47, 47, 47, 47, 47]
j:[47, 47, 47, 47, 47, 47, 47]
k[47, 47, 47, 47, 47, 47, 47, 0]
m[47, 47, 47, 47, 47, 47, 47, 0, 0]
数组和容器
- 数组定义:相同类型元素的集合
- 数组和容器区别:效率,类型,保存基本类型的能力
- 数组和容器比较的优势:数组是一个简单的线性序列,访问非常快速
- 高效的缺陷:数组对象大小是固定的