Java编程思想11
第十六章:数组
Java中已经有了容器,为什么还需要数组呢,是因为数组可以持有基本类型吗?但是在泛型出来之后,通过自动包装机制,其实通过容器也能够持有基本类型。在Jav中,数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性用,这使得元素访问非常快速。但是为这种速度所付出的代价是数组对象的大小被固定,并其生命周期中不可改变。
在java.util类库中可以找到Arrays类,它有一套用于数组的static实用方法,其中有六个基本方法,equals()用于比较两个数组是否相等(deepEquals()用于多位数组),fill()为数组填充数据,sort()用于对数组的排序;binarySearch()用于在已排序的数组中查找元素。
Java标准类库提供有static方法System.arrayCopy(),用它赋值数组比for循环赋值要快很多,System.arrayCopy()针对所有类型做了重载。arrayCopy()需要的参数有:源数组,表示从源数组中的什么位置开始赋值的偏移量,表示从目标数组的什么位置开始复制的偏移量,以及需要赋值的元素的个数。如果是复制对象数组,这里做得是浅复制。而且System.arrayCopy()不会执行自动拆包和自动装包,所以两个数组必须具有相同的确切类型。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)