Java数组详解
声明数组
数组for each循环
有点像python语法:
for(int element : a)
System.out.println(element);
数组打印:
import java.util.Arrays;
public class array {
public static void main(String[] args){
//int[] a;
int[] a = new int[100]; //创建可以存储100个数字的数组
for(int i = 0; i < 100; i ++){
a[i] = i;
}
for(int i = 0; i < 100; i ++){
System.out.println(a[i]);
}
//同样是可以打印的
for(int element : a)
System.out.println(element);
System.out.println(Arrays.toString(a));
}
}
数组拷贝(浅拷贝、深拷贝)
import java.util.Arrays;
public class arrayCopy {
public static void main(String[] args){
int[] a = {17, 19, 23, 29, 31, 37};
int[] small = a; //浅拷贝
small[1] = 33;
System.out.println(Arrays.toString(a));
int[] copy = Arrays.copyOf(a, a.length); //深拷贝
copy[0] = 12;
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(copy));
}
}
浅拷贝拷贝的引用:
深拷贝拷贝的整个数组。
Arrays API
多维数组
- 声明比较简单
- 如果需要声明固定的二维数组,使用new方法
- 如果一直元素,可以直接声明
二维数组也可以使用for each来遍历
注意每一行是一个**double[]**类型的数据
也可以使用Arrays.deepToString来将二维数组打印出来
不规则数组
可以使用下面的放来先确定行的个数,然后再确定列的个数
int[][] odds = new int[NMAX + 1][]