今天数组所需要的导包:java.util.Arrays(用于操作数组的各种方法的实用类)
常用类方法包括:
sort():对数组进行排序。
binarySearch():对排序好的数组进行二分查找。
equals():比较两个数组是否相等。
fill():用指定的值填充数组的所有元素。
toString():将数组转换为字符串形式,便于输出或者打印。
一.动态数组的初始化(行数必须确定,而列数可以为空且长度可变)
-
int a[][]=new int[3][]; //声明了一个3行的二维数组,但是每一行还没有分配内存空间.new创建对象 a[0]=new int[3];//new分配内存空间 a[2]=new int[4];//2行有4列 a[1]=new int[2]; System.out.println(Arrays.toString(a[2])); //Arrays.toString()方法用于将数组转换为字符串输出
2.int a[][]=new int[3][2];//已经分配内存空间
a[0][0]=1;//这里不用再次分配
a[0][1]=2;//具体对第0行第1列的数组赋值
System.out.println(Arrays.toString(a[0]));//打印时只用打印带行数的数组
3.int a[][]=new int[][]{{1,2,3},{4,5,6,7,8}};
System.out.println(Arrays.toString(a[0]));
二.数组的基本操作
注意:
1.for each循环左边int a表示循坏变量,根据数组内元素类型来定。而冒号右边是要进行循环的数组。for each语句并不是让你直接输入for each{},而是一种特殊的for循环
2.数组拷贝:int a[]=new int[]{1,2,3}; int b[]=a;
解析:这段代码创建了两个整型数组a和b,并且将它们指向同一个数组对象
int b[]=a 这行代码创建了一个新的整型数组变量b,并将其赋值为数组a。这并不会创建一个新的数组对象,而是将b指向了和a相同的数组对象。换句话说,a和b现在引用同一个数组对象。
因此,无论是对a还是b的操作,都会影响到同一个数组对象。这种情况下,修改a或者b的任何元素都会影响到另一个数组变量。
指定长度数组拷贝:nt b[]=Arrays.copyOf(a,2);