- 数组初始化:
- 在Java中,定义数组时,若为基本数据类型,所有元素会被自动初始化为其默认值(如
int
型的默认值为0)。 -
若数组未被初始化,仅定义了引用,例如
int[] arr;
,则此引用为null
。 -
动态数组选择:
-
如果数组的长度可能会改变,或者数组中存储的是对象,使用
ArrayList
比较合适。ArrayList
可以动态调整大小。 -
ArrayList初始化:
- 可以使用
Arrays.asList(元素1, 元素2, ...)
初始化ArrayList
。 -
若使用循环来添加元素,应使用
.add()
方法。 -
包装类:
-
在定义
ArrayList
类型的对象时,应该使用基本数据类型的包装类(如Integer
而非int
),因为ArrayList
只能存储对象。 -
不规则二维数组:
-
Java支持不规则(或称”锯齿状”)二维数组,即每一维的长度可以不相同。
-
数组长度属性:
-
使用
arrayName.length
来获取数组的长度。不需要括号,因为它是一个属性而非方法。 -
Arrays类的工具方法:
-
如果导入了
java.util.Arrays
,可以使用Arrays.sort()
,fill()
,toString()
,deepToString()
等方法。由于它们是方法,需要加上括号。 -
定制排序:
Arrays.sort()
方法支持Lambda表达式以定义自定义排序规则。仅在排序对象数组时适用。-
如果Lambda表达式过长,可以考虑使用静态方法来简化。
-
fill方法限制:
-
Arrays.fill()
方法只能用于一维数组的初始化。 -
二维ArrayList初始化:
- 当定义二维的
ArrayList
时, 需要用ArrayList
的实例(即一维ArrayList
)来填充二维数组的每个位置。
- 当定义二维的
-
BufferedWriter使用:
- 当函数使用
BufferedWriter
时,应在函数返回前调用bw.flush()
,以确保所有数据被写出。
- 当函数使用