Java学习笔记4--数组类型【注意点】

本文深入讲解Java中一维数组及多维数组的定义与使用,包括数组的声明、空间分配、复制、排序与搜索等核心操作。介绍了Array类的copyOf()、copyOfRange()方法,System类的arraycopy()方法,以及Object类的clone()方法用于数组复制。并详细解释了选择排序、冒泡排序、快速排序等排序算法,以及如何使用Arrays.sort()进行数组排序。最后,文章探讨了如何利用Arrays.binarySearch()方法进行数组搜索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.

注意:对数组查找时,首先要对数组进行排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼zsp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值