JAVA复制数组和重置数组大小操作
作者:清水贤人 时间:2021-08-29 02:02:41
翻看印象笔记发现自己整理过arraycopy()这样一个方法,码字放到这里:
System.arraycopy()是一个静态方法,用来实现重置数组操作
数组复制方法调用和参数列表:
System.arraycopy(src, srcPos, dest, destPos, length);
src:原数组
srcPos:原数组的开始位置
dest:目标数组
destPos:目的数组的开始位置
length:复制长度
数组复制代码示例:
//originalArray 数组全部复制到targetArray数组
int [] originalArray = new int[10];
int [] targetArray = new int [10];
System.arraycopy(originalArray, 0, targetArray, 0, originalArray.length);
通过入参的长度 限制是全部复制还是部分复制
重置数组大小代码示例:
int [] originalArray = new int[10];
int [] temp =new int [originalArray.length + 10];
System.arraycopy(originalArray, 0, temp, 0, originalArray.length);
//数组重新复制
originalArray=temp;
以后建议在重置数组或者数组复制时用这个静态方法,效率要比for循环高(来自某本技术书籍)
补充知识:java:复制数组(指定范围内复制)
相关说明
int newArray0[]=copyOf(这里放被复制的数组,这里放要复制的长度);
当复制长度大于被复制的数组长度时,超出部分int类型用0代替,char类型用null代替。
当复制长度小于被复制的数组长度时,只取开头到指定长度位置的部分。
int newArray1[]=copyOfRange(a,b,c);
range(范围)
a:被复制的数组
b:复制的起始位置(元素被包括)
c:复制的终止位置(元素不被包括)
源码
import java.util.Arrays;
class Demo{
public static void main(String[] args){
int array0[]={32,82,99};//被复制的数组一
System.out.println("被复制的数组为:32,82,99 \n 复制长度为7的数组为:");
int newArray0[]=Arrays.copyOf(array0,7);//复制成长度为7的数组
for(int n=0;n<newArray0.length;n++){
System.out.print("["+newArray0[n]+"]");
}
System.out.println();//换行
int array1[]={82,16,33,11,92,01,34};
System.out.println("被复制的数组为:82,16,33,11,92,01,34 \n 复制从1位置到4位置的数组:");
int newArray1[]=Arrays.copyOfRange(array1,1,4);//从1位置复制到4位置
for(int m=0;m<newArray1.length;m++){
System.out.print("["+newArray1[m]+"]");
}
System.out.println();//换行
}
}
运行结果
来源:https://blog.csdn.net/wjsshhx/article/details/62041120
标签:JAVA,复制,数组,重置
0
投稿
猜你喜欢
Java 深入浅出掌握Collection单列集合Set
2023-10-07 18:49:32
详解Java后端优雅验证参数合法性
2021-09-06 16:07:22
JAVA遍历一个文件夹中的所有文件的小例子
2023-04-07 17:13:49
详解Java并发包中线程池ThreadPoolExecutor
2022-03-23 19:57:20
Java二维数组与稀疏数组相互转换实现详解
2022-10-28 07:27:33
深入理解Java设计模式之备忘录模式
2023-09-20 06:16:43
Java基础之容器Vector详解
2023-11-25 13:10:07
java中String字符串删除空格的七种方式
2023-03-11 05:54:24
java读取文件内容的三种方法代码片断分享(java文件操作)
2023-11-21 06:53:20
如何让java只根据数据库表名自动生成实体类
2022-02-24 04:25:52
Spring+MyBatis实现数据读写分离的实例代码
2021-08-31 04:34:48
深入学习Java编程中的字符串的进阶使用
2023-11-11 12:54:20
Java二分查找算法实例详解
2022-07-09 14:33:55
spring使用OXM进行对象XML映射解析
2022-11-11 16:05:19
浅谈java的接口和C++虚类的相同和不同之处
2023-08-05 12:01:51
使用controller传boolean形式值
2023-11-28 23:05:33
Maven实战之搭建Maven私服和镜像的方法(图文)
2023-11-27 22:27:06
MyBatis-Plus联表查询(Mybatis-Plus-Join)的功能实现
2023-11-25 03:24:33
Spring Security过滤器链体系的实例详解
2023-08-25 03:24:15
Java实现生成JSON字符串的三种方式分享
2022-05-20 15:21:31