数组
数组分为:数组的基本操作,数组的排序算法,数组的概述,一维数组,二维数组
数组的基本操作分为:遍历数组,填充替换数组,对数组进行排序,复制数组,查询数组。
数组的排序算法分为:冒泡排序,直接选择排序,反转排序
一维数组分为:创建一维数组,初始化一维数组,使用一维数组,
二维数组:创建二维数组,初始化数组,使用二维数组。
数组的概述
数组是具有相同数据类型的一组数据的组合。例如:球类的集合——足球,篮球,羽毛球等,在程序设计中,可以将这些集合称为数组。
一维数组
一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据,或者传递一组数据时,可以应用这种类型的数组。
创建一维数组
数组作为对象允许使用new关键字进行内存分配,在使用数组之前,必须首先定义数组变量所属的类型.
一.先声明,再用new关键字进行内存分配
声明一维数组有下列两种方式
数组元素类型 数组名字[];
数组元素类型[]数组名字;
数组元素类型决定了数组的数据类型,它可以是java中任意的数据类型。
声明的同时为数组分配内存
这种创建数组的方法是将数组的声明和内存的分配合在一起执行。
数组元素的类型 数组名=new数组元素的类型[数组元素的个数]
初始化一维数组
数组与基本数据类型一样可以进行初始化操作,数组的初始化可分别初始化数组中的每个元素。
二维数组
如果一维数组中的各个元素仍然是一个数组,那么它就是一个二维数组,二维数组常用于表示表,创建二维数组可以看作是特殊的一维数组,因此二维数组的创建同样两种方式
先声明,再用new关键字进行内存分配
声明二维数组的语法如下:
数组元素的类型 数组名字[][];
数组元素的类型[][]数组名字;
声明二维数组,代码如下:
int a[][];
声明的同时为数组分配内存
第二种创建方式与第一种实现的功能相同,只不过声明与赋值合并到同一行代码中。
初始化二维数组
二维数组的初始化与一维数组初始化类似,同样可以使用大括号完成。语法如下:
type arrayname[][]={value1,value2,...,valuen};
数组的基本操作
遍历数组 :遍历数组就是获取数组中的每个元素,通常遍历数组都是使用for循环来实现
填充替换数组元素
数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。该方法可将指定的int值分配给int型数组的每个元素。
对数组进行排序
通过Arrays类的静态方法sort()可以实现对数组的排序,sort()方法提供多种重载形式,可对任意类型的数组的数组进行升序排序。
复制数组
copyOf()方法 ,copyOfRange()方法。
查询数组
可以使用二分搜索法来搜索指定数组,以获得指定对象
数组排序法
冒泡排序,基本思想:冒泡排序的基本思想是对比相邻的元素值,如果满足条件就交换元素值。
算法示例:冒泡算法由双层循环实现,其中外层循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素。