Java之二维数组
·
一、二维数组
1.语法:
声明:数据类型 [] [] 数组名;
空间:数组名=new 数据类型[行数] [列数];
2.使用
(1)通过行和列对二维数组进行访问:数组名[行标][列标]
注:行标和列标都是从0开始
(2)定义方式:
(1) 声明的同时并分配空间:数据类型[][] 数组名 = new 数据类型[行数] [列数];
(2) 显示初始化:数据类型[] [] 数组名 = new 数据类型[] []{{值1,值2},{值3,值4},{值5,值6}};
注意:后面 {} 中 {}的个数决定行数,所以[] []中个不能再制定行数和列数。
(3) 显示初始化:数据类型[] [] 数组名 = {{值1,值2},{值3,值4}};
注意:声明和初始化必须一起完成。
二、数组排序
1.冒泡排序(算法):将相邻两个元素进行一一比较,元素大逐步后移(也可从大到小排序)
for(int i=1;i<a.length-1;i++){
for(int j=0;j<a.length-i;j++){
if(a[j]>a[j+i]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
三、数组的扩容
1.①先申请一个更大空间的新数组,通常新数组的长度是原数组长度的2倍
②将原数组中的元素进行一一复制到新数组中
③新地址覆盖旧地址
2.
第一种
int[] a = new int[]{1,7,4,3}; // 1. 申请新数组 :长度为原有数组的2倍
int[] b = new int[a.length*2];// 2. 将原有数组中内容进行一一拷贝到新数组中
for(int i=0;i<a.length;i++){
b[i] = a[i];
}
// 3. 新的地址覆盖旧的地址
a = b;
第二种:
利用 System.arraycopy(a,0,b,0,a.length); // 完成 数组复制
参数说明:
第一个参数:原数组名
第二个参数:原数组拷贝的起始下标
第三个参数:新数组名
第四个参数:新数组的存储起始下标
第五个参数:拷贝的个数/长度
第三种:
利用 java.util.Arrays.copyOf(原数组名,新数组的长度) ; // 完成新数组的定义+数组的复制 参数说明:
第一个参数:扩容的数组名
第二个参数:指定新数组的长度
更多推荐
所有评论(0)