二维数组
- 数组分类
- 按照数据类型分
- 按照维度分
- 数组是按照里面存储的数据类型来确定类型
- 数组中可以存储任意类型的数据(基本数据类型、引用数据类型String)
- 数组就是引用数据类型
- 数组中存储的数据就是数组,形成二维数组
- 数组中只能存储同一类型的数据
声明
- 基本数据类型数组int[] arr = new int[2];
- String数组声明String[] brr = new String[2];
- 二维数组(数组类型的数组):int[][] crr = new int[3][];
- String[][] = new String[][];
- 二维数组中的数据就是一个一个的数据,这些数组也必须是同一类型的
示例图
访问
- 通过二维数组的下标找到里面的元素
- 元素本身就是一个数组,继续通过下标获取里面的元素
遍历
public class Demo {
public static void main(String[]args) {
int[][] arr = new int[3][];
System.out.println(arr.length);
int [] brr = {1,2,3};
//数组赋值/遍历通过数组下标方位
arr[0] = new int[3];//int [] brr=new int[3];
arr[1] = new int [] {1,2,3};//int[] crr =new int[] {1,2,3}
arr[2] = new int[30];
arr[2][2] = 8;
System.out.println(arr[0][0]);
System.out.println(arr[1][1]);
System.out.println("**************");
for (int i = 0;i<arr.length;i++) {
for (int j = 0;j<arr[i].length;j++) {
System.out.println(arr[i][j]);
}
}
}
}
Arrays
是一个操作数组的工具类。里面都是操作数组的方法
-
数组打印
- toString();
-
排序
- sort();
- Arrays下面的sort具体使用的是哪种排序方法,根据排序数组确定的。追求效率
-
扩容
- 只指定长度,从0开始复制
-
查找
- 二分查找:int index = Arrays.binarySearch(arr,1);
- 能找到返回下标,找不到返回负数。
- System.out.println(Arrays.binarySearch(arr,2,6,9));
- 限定查找范围
-
填充Arrays.fill(crr,5);
- 填充所有的值都是一样
public static void main(String[]args) {
int [] arr = {1,2,3,4,5,6,7,8,9};
int index = Arrays.binarySearch(arr,1);
//查找值,从5号到8号
System.out.println(Arrays.binarySearch(arr,2,6,9));
System.out.println(index);
//扩容
int [] brr = Arrays.copyOf(arr,5);
//打印数组
System.out.println(Arrays.toString(brr));
int [] crr = new int[10];//0 5
Arrays.fill(crr,5);
}