Java知识系统回顾整理01基础06数组05复制数组
数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少
一、复制数组
把一个数组的值,复制到另一个数组中
System.arraycopy(src, srcPos, dest, destPos, length) |
src: 源数组
srcPos: 从源数组复制数据的起始位置
dest: 目标数组
destPos: 复制到目标数组的起始位置
length: 复制的长度
public class HelloWorld { public static void main(String[] args) { int a [] = new int[]{18,62,68,82,65,9}; int b[] = new int[3];//分配了长度是3的空间,但是没有赋值
//通过数组赋值把,a数组的前3位赋值到b数组
//方法一: for循环 for (int i = 0; i < b.length; i++) { b[i] = a[i]; }
//方法二: System.arraycopy(src, srcPos, dest, destPos, length) //src: 源数组 //srcPos: 从源数组复制数据的起始位置 //dest: 目标数组 //destPos: 复制到目标数组的启始位置 //length: 复制的长度 System.arraycopy(a, 0, b, 0, 3);
//把内容打印出来 for (int i = 0; i < b.length; i++) { System.out.print(b[i] + " "); } } } |
二、练习--合并数组
题目:
首先准备两个数组,他俩的长度是5-10之间的随机数,并使用随机数初始化这两个数组(向数组填充随机数的办法,参考这里)
实现效果:
官方示例代码:
public class HelloWorld { public static void main(String[] args) { int a[] = new int[(int) (Math.random() * 5)+5]; for (int i = 0; i < a.length; i++) a[i] = (int) (Math.random() * 100); int b[] = new int[(int) (Math.random() * 5)+5]; for (int i = 0; i < b.length; i++) b[i] = (int) (Math.random() * 100);
System.out.println("数组a的内容:"); for (int i : a) { System.out.print(i+" "); } System.out.println(); System.out.println("数组b的内容:"); for (int i : b) { System.out.print(i+" "); } System.out.println();
int c[] = new int[a.length+b.length]; System.arraycopy(a, 0, c, 0, a.length); System.arraycopy(b, 0, c, a.length, b.length);
System.out.println("数组c的内容:"); for (int i : c) { System.out.print(i+" "); } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现