// 数组相关语法
public void reviewArray(){
// 数组定义
int [] array; // 定义一个数组类型的引用变量,不能指定数组长度,未指向任何有效内存
// 数组静态初始化
array = new int[] {1,2,4,5};
int [] array1 = {2,4,6,8}; //同时定义和初始化
// 数组动态初始化(int默认值为0)
// array2是数组引用变量,指向实际的数组对象
int [] array2 = new int[5];
// 访问数组元素
for(int i=0; i<array.length; i++){
System.out.println(array[i]);
}
// foreach 循环访问数组/集合中元素,无法改变数组值(value为临时变量)
for(int value : array){
System.out.println(value);
}
// 多维数组,初始化时长度可为变量
int a = 3, b=4;
int [][] multiArray = new int[a][b];
// 最少要指定第一维维度
int [][][] threeArray = new int[2][][];
// 静态初始化
String [][] sArray = new String[][] {new String[3], {"hello","world"}};
String [][] sArray1 = {new String[3], {"hello","world"}};
// java.util.Arrays类的使用 该类中索引同样是包前不包后 即[from,to)
int [] arrays = {6,5,4,3,2,1};
// sort方法排序
Arrays.sort(arrays,0,3); // 对第0-2个元素排序
System.out.println("对前三个元素排序:"+ Arrays.toString(arrays));
Arrays.sort(arrays);
System.out.println("全体排序:"+ Arrays.toString(arrays));
// 对升序排列的数组二分查找指定元素的索引
int index = Arrays.binarySearch(arrays, 3);
System.out.println("全体范围查找index:"+index);
index = Arrays.binarySearch(arrays,0,2,3); // 在0-1的元素中查找
System.out.println("指定区域查找index:" +index);
// 将数组复制到新数组
int [] arrays1 = Arrays.copyOf(arrays, arrays.length);
System.out.println(Arrays.toString(arrays1));
int [] arrays2 = Arrays.copyOfRange(arrays, 1,4); // 从下标1复制到3
System.out.println(Arrays.toString(arrays2));
// 判断是否相等 结果为:false true
System.out.println("是否为同一对象:"+(arrays==arrays1)+" 元素是否相等:" + Arrays.equals(arrays, arrays1));
// 对数组的所有元素赋值为val
Arrays.fill(arrays,10);
Arrays.fill(arrays1,0,2,9); //对前2个元素赋值
System.out.println(Arrays.toString(arrays));
System.out.println(Arrays.toString(arrays1));
}
05-11
236
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交