定义数组
- 数据类型[] 数组名 = new 数据类型[表示数组能存放的元素个数]; //适用于一些知道元素个数而不知道具体元素的场景
- 数据类型[] 数组名 = new 数据类型[]{元素1, 元素2,……,元素n};---同时也就规定了数组的大小就是元素的个数
- 数据类型[] 数组名 = {元素1, 元素2,……,元素n};
int[] arr = new int[5];
int[][] arr = new int[3][5];// 定义了一个包含了3个一维数组的二维数组,每个一维数组包含5个元素
int[][] arr = new int[5][]; //二维数组中包含5个一维数组。
int[] arr = new int[]{3,5,1,2,5};
int[] arr = {2,6,4,7,9}; //数组一旦定义好,大小不可变
int[][] arr = {{2,3}, {1}, {3,5,6}, {1,2,3,7}, {1}};
数组扩容/复制
- System.arraycopy(要复制的数组, 要复制的起始下标, 要存放的数组, 存放的起始位置, 复制的元素的个数);
- Arrays.copyOf(要扩容的数组, 扩容之后的大小); //数组在扩容完成之后,堆内存的地址已经发生了改变
Arrays.copyOf(arr,len);
System.arraycopy(arr,0,arr2,0,len);
数组排序三个基本排序算法执行效率比较(冒泡排序,选择排序和插入排序) - 蓝之风 - 博客园
冒泡排序:大的往后放,当前元素和下一元素做对比 前面比后面大则交换位置 直至最大的换到最后一个位置 两层循环
选择排序:当前元素 和后面最小的元素对比 换位置 两层循环
插入排序: 第2个元素开始 和前面的所有数做对比/交换 小就放前面 两层循环