目录
一、数组概述
数组是具有相同数据类型的一组数据的结合
二、一维数组
一维数组是一组相同类型数据的线性集合
1、创建一维数组
先声明,再用new关键字进行内存分配
有两种方式:
方式一:数组元素类型 数组名字[];
方式二:数组元素类型[] 数组名字;
声明的同时为数组分配内存
将数组的声明和内存的分配一起执行
语法:数组元素的类型 数组名=new数组元素的类型[数组元素的个数];
2、初始化一维数组
数组与基本数据类型一样可以进行初始化操作,数组的初始化可分别初始化数组中的每个元素,方式有两种
方式一:int arr[] = new int[](1,2,3,5,25);
方式二:int arr2[] ={34,25,12,6};
使用一维数组
三、二维数组
1、创建二维数组
二维数组可以看作是特殊的一维数组,因此二维数组的创建同样有两种方式:
先声明,再用new关键字进行内存分配
方式一:数组元素的类型 数组名字[];
方式二:数组元素的类型[][] 数组名字;
声明的同时为数组分配内存
数组名=new数据元素的类型 (二位数组分配内存同时设置初始值 )
二位数组赋值:数组名[行号]={值1,值2,...}
数组名[行号]=值
2、初始化二维数组
与初始化一维数组相似
语法:type arrayname[][]={value1,value2,...,valuen}
使用二位数组
四、数组的基本操作
1、遍历数组
遍历数组就是获取数组中的每个元素,通常使用for循环来实现,遍历二维数组需要使用双层for循环,通过数组的length属性可获取数组的长度。
2、替换数组
数组中的元素定义完成后,通过Arrays类的静态方法fill()来对数组中的元素进行替换
替换数组元素:Arrays.fill(数组名,值);该方法可将指定的int值分配给int型数组的每个元素
替换数组部分元素:Arrays.fill(数组名,值);该方法可将指定的int值分配给int型数组指定范围内的每个元素
口诀:前改后不改
3、复制数组
复制数组元素:Arrays.copyof(旧数组名,新数组长度);
口诀:空位补0,溢出去掉
复制数组部分元素:Arrays.copyof(旧数组名,前索引,后索引);
口诀:前在后不在
4、数组元素排序
Arrays.sort(数组名)
5、查询数组
查询数组元素:Arrays.binarySearch(数组名,元素)
口诀:先排序在查询
查询指定范围内数组元素:Arrays.binarSearch(数组名,前索引,后索引,元素)
口诀:先排序在查询,前含后不含
五、数组排序算法
1、冒泡排序
冒泡排序的基本思想是比较相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面(也就是交换两个元素的位置),这样较小的元素就像气泡一样从底部上升到顶部
2、直接选择排序
每一趟从待排序的数据元素中选出最小(最大)的一个元素,顺序地放在已排好序的数列的最后,直到全部待排序的数据元素排完
3、反转排序
把数组最后一个元素与第一个元素替换,倒数第二个元素与第二个元素替换,以此类推,直到把所有数组元素反转替换