数组的概念
- 1 相同类型数据的长度一定的集合叫做数组。
- 2 数组是引用对象类型,所以其对象保存在堆内存里。
如何定义数组
- 1 type[] 数组变量名 = new type[数组的长度];
- 2 type[] 数组变量名 = {type_var1, type_var2};
- 3 type[] 数组变量名 = new type[]{type_var1, type_var2};
String[] strs1 = new String[10];
int nums = {12, 14};
Double ds = new Double[]{new Double(11.2), new Double(13.14)}
- 4 数组的索引(下标)是从0开始的,最大索引时数组长度 - 1
- 5 数组长度一旦定义下来就不能改变了
- 6 数组变量名指向的是第一个数组元素的地址
如何初始化数组
- 1 定义数组时显示的用{}来初始化数组
- 2 使用for循环来依次为数组元素赋值
- 3 如果数组元素是原生数据类型,在定义数组后,数组中元素的值是该原生数据类型的默认值。
- 4 如果数组元素是引用类型,则在数组定义后,数组中元素的值是null
- 5 为数组中引用类型的元素初始化后,保存的是引用类型的地址,而非对象。
数组的比较、排序和交换
- 1 数组的比较
int[] a = {1,2};
int[] b = {1,2};
System.out.println(a.equals(b));
结果输出是false
因为数组没有重写Object的equals方法,所以比较的还是数组在堆内存中的地址。
- 2 可以使用Arrays的工具类来进行数组的比较和排序
- 3 对于原生数据类型的swap交换,不能使用方法入参来交换,因为传参只是把参数传到方法里,不会改变原始的值。