Java之数组
- 数组也是对象。
- 数组只是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。
- 数组是通过方括号下标操作符[]来定义和使用的。
- 所有的数组类型,不管是对象数组还是基本类型的数组都扩展了Object类。
- 当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个引用都会自动被初始化为一个特定值null。因此在使用这些引用是如果没初始化,就会出现空指针异常。
- 定义数组时只用在类型名后加一对空白的方括号即可。
int a;
- 可以使用以下两种方式创建和初始化数组:
- new:
-
int[] a = new int[10];int[] a = new int[] {1, 2, 3};
-
- {}:
-
int[] a = { 1, 2, 3 };
-
- new:
- 数组下标从0开始。
- 数组元素中的基本类型会自动初始化。注意:数组中的对象不会自动初始化。
- 数组的尺寸不能改变。
- 多维数组:
-
int[][] a = {{1,2,3},{2,3,4}};
-
- Arrays中的静态方法:
- fill():使用同一个值填充数组的每一个元素。
-
int[] c = new int[5];Arrays.fill(c, 19);System.out.println(Arrays.toString(c));输出:[19, 19, 19, 19, 19]
-
- equals():比较两个一维数组是否相等。
- deepEquals():比较两个多维数组是否相等。
- sort():对数组进行排序。
- binarySearch():用于在已排序的数组中查找元素。
- hashCode():产生数组的散列码。
- toString():打印一维数组。
- asList():接收任意的序列或数组作为参数,将其转变为List。
- deepToString():打印多维数组。
-
int[] a = new int[] {1, 2, 3};int[][] b = {{1,2,3},{2,3,4}};System.out.println("一维数组:" + Arrays.toString(a));System.out.println("二维数组:" + Arrays.deepToString(b));输出:一维数组:[1, 2, 3]二维数组:[[1, 2, 3], [2, 3, 4]]
-
- fill():使用同一个值填充数组的每一个元素。