1、二维数组:
理解为:数组中存放数组
声明:
数据类型[][] 数组名;(推荐)
数据类型[]数组名[];
数据类型数组名[][];
初始化 :
动态初始化 : 创建数组同时不确定不确定数据
数据类型[][] 数组名 = new 数据类型[外层二维数组长度][内层一维数组长度];
int[][] arr1 = new int[2][2];//创建并初始化一个两行两列的二维数组
数据类型[][] 数组名 = new 数据类型[外层二维数组长度][];
int[][] arr2 = new int[3][];//创建并初始化一个三行的二维数组
数组名[二维数组的索引] = new 一维数组[长度];
String[][] arr2 = new String[2][];
arr2[0] = new String[]{"aaa","bbb","ccc"};
arr2[1] = new String[2];
数组名[二维数组的索引] = new 一维数组[]{数据值....};
arr2[1][0] = "中国";
arr2[1][1] = "北京";
静态初始化 : 闯将数组的同时赋值,根据数据的个数决定数组的长度
数据类型[][] 数组名 = new 数据类型[][]{{值列表},{值列表},....};
int[][] arr3 = new int[][]{{1,2,3},{4,5,6},{7,8,9}};//三行三列二维数组
数据类型[][] 数组名 = {{值列表},{值列表},....};
int[][] arr4 = {{1,2,3},{4,5,6},{7,8,9}};
操作数组中的数据 :
数组名[外层二维数组索引][内层一维数组索引]
arr4[0][0];//1
arr4[0][1];//2
arr4[0][2];//3
arr4[1][0];//4
arr4[1][1];//5
arr4[1][2];//6
遍历 :
双重循环嵌套
for-->foreach
int[][] arr2 = new int[][]{{1,2,3},{4,5,6}};
for (int i = 0; i <arr2.length ; i++) {
for (int a:arr2[i]){
System.out.println(a);
}
}
for-->for
//for--for
for (int i = 0; i <arr2.length ; i++) {
for (int j = 0; j < arr2[i].length; j++) {
System.out.println(arr2[i][j]);
}
}
foreach-->foreach
for (int[] a:arr2){
for (int b:a){
System.out.println(b);
}
}
foreach-->for
for (int[] a:arr2){
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
2、集合概念
ArrayList : 集合类型
能够存储多个数据,有序可以根据索引进行操作
可以存储多个相同的数据
肯定根据需求对数据进行增删,长度会动态改变
使用 步骤 :
1)定义一个ArrayList集合结构
2)数据存储集合结构中 add(数据)
HashSet : 集合类型
存储多个数据,要求数据不能重复,会自动去重
肯定根据需求对数据进行增删,长度会动态改变