1.概念

数组Array是用于储存多个相同类型数据的集合。
想要获取数组中的元素值,可以通过元素的下标来获取,下标是从0开始的。

2.创建数组

一般分为动态初始化和静态初始化
动态初始化:int[] a = new int[5];
静态初始化1:int[] a ={1,2,3,4,5,6,7,8};
静态初始化2:int[] a =new int[]{1,2,3,4,5};

3.长度

length属性获取数组长度
注意:数组有定长特性,长度一旦指定,不可更改。
允许0长度的数组

4.二维数组操作

二维数组初始化
同一维数组一样,共有4总不同形式的定义方法:
int[][] array1 = new int[10][10]; int array2[][] = new int[10][10];
int array3[][] = { { 1, 1, 1 }, { 2, 2, 2 } };
int array4[][] = new int[][] { { 1, 1, 1 }, { 2, 2, 2 } };

不定长二维数组
int[][] array = new int[3][]; array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];

获取二维数组的长度
int length1 = array.length; int length2 = array[0].length;
// 获取二维数组的第一维长度(3)
System.out.println(length1);
// 获取二维数组的第一维的第一个数组长度(1)
System.out.println(length2);

数组内存解析
JVM内存划分
JVM内存划分.png

java内存简述.png

数组工具类Arrays

Arrays.toString(数组)

把数组里的数据,用逗号连接成一个字符串。
格式:[10, 14, 20, 46, 51]

Arrays.sort(数组)

对数组排序,对于基本类型的数组使用优化后的快速排序算法,效率高。
对引用类型数组,使用优化后的合并排序算法。

Arrays.copyOf(数组,新的长度)

把数组复制成一个指定长度的新数组。
新数组长度大于原数组,相当于复制,并增加位置。—数组的扩容
新数组长度小于原数组,相当于截取前一部分数据。—数组的缩容