4.1一维数组及多维数组
一维数组语法格式:
data_type[ ] array_name; //声明数组
array_name =new data_type[size]; //分配空间
多维数组语法格式(以二维数组为例):
data_type[ ][ ] array_name; //声明数组
array_name =new data_type[size1][size2]; //分配空间
注意:初始化数组是由内向外逐步初始化的。
4.2 复制数组
4.2.1 Array类的copyOf()方法和copyOfRange()方法
(1)Array类的copyOf()方法的语法格式如下:
Arrays.copyOf(dataType[ ] srcArray,int length);
其中srcArray表示要进行复制的数组;length表示复制后的新数组的长度。复制默认从数组起始位置开始。
(2)Array类的copyOfRange()方法的语法格式如下:
Arrays.copyOfRange(dataType[ ] srcArray,int startIndex,int endIndex)
其中srcArray表示源数组,startIndex表示开始复制的起始索引;endIndex表示终止索引。但目标数组中将不包含终止索引对应的元素。
4.2.2 使用arraycopy( )方法
使用System类下的arraycopy()实现对数组的复制,其语法格式如下:
System.arraycopy(srcArray,int srcIndex,int destArray,int destIndex,int length)
其中,srcArray表示源数组,srcIndex表示源数组中的起始索引;destArray表示目标数组;destIndex表示目标数组中的起始索引,length表示复制的数组长度。
注意:使用此方法时,length+srcIndex 必须小于等于srcArray.length,同时length+destIndex必须小于等于destArray.length.
注意:arraycopy()并不符合命名规则。
4.2.3 使用Object类中的clone()方法
语法:
array_name.clone();
//示例如下
int [] destArray =srcArray.clone();
4.3 数组排序
排序算法主要有选择排序,冒泡排序,快速排序三种。
(1) 选择排序
https://www.cnblogs.com/jinlin/p/5721731.html
(2) 冒泡排序
https://www.cnblogs.com/jinlin/p/5721731.html
(3) 快速排序
Arrays.sort()是将数组进行升序排列。其语法格式如下:
Arrays.sort(array_name)
4.4 搜索数组
Array类的binarySearch( )方法专门用于实现使用二分搜索算法搜索指定数组,该方法返回搜索元素的索引值,并提供了多种重载形式,如下:
Arrays.binarySearch(dataType[ ] array_name,dataType key);
其中,array_name表示数组名称;key表示需要在数组中检索的元素,类型与array_name数组元素类型保持一致。在搜索元素时,如果该元素在array_name数组中存在,则返回该元素所在的索引,否则返回-1.
注意:对数组查找时,首先要对数组进行排序。