JAVA复制数组和重置数组大小操作

 更新时间:2020年09月12日 10:44:00   作者:清水贤人  
这篇文章主要介绍了JAVA复制数组和重置数组大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

翻看印象笔记发现自己整理过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();//换行
 }
}

运行结果

以上这篇JAVA复制数组和重置数组大小操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java在运行时能修改工作目录吗

    java在运行时能修改工作目录吗

    这篇文章主要给大家介绍了关于java在运行时能修改工作目录的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • 深入解读分布式事务Seata的XA模式

    深入解读分布式事务Seata的XA模式

    这篇文章主要介绍了深入解读分布式事务Seata的XA模式,XA 规范 描述了全局的事务管理器与局部的资源管理器之间的接口,XA规范 的目的是允许的多个资源在同一事务中访问,这样可以使 ACID 属性跨越应用程序而保持有效,需要的朋友可以参考下
    2023-08-08
  • SpringBoot 使用hibernate validator校验

    SpringBoot 使用hibernate validator校验

    这篇文章主要介绍了SpringBoot 使用hibernate validator校验,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • SpringBoot开发存储服务器实现过程详解

    SpringBoot开发存储服务器实现过程详解

    这篇文章主要为大家介绍了SpringBoot开发存储服务器实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用

    SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用

    本篇向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用的。需要的朋友跟随脚本之家小编一起学习吧
    2018-01-01
  • aop注解方式实现全局日志管理方法

    aop注解方式实现全局日志管理方法

    下面小编就为大家分享一篇aop注解方式实现全局日志管理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • SpringBoot整合JPA数据源方法及配置解析

    SpringBoot整合JPA数据源方法及配置解析

    这篇文章主要介绍了SpringBoot整合JPA数据源方法及配置解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 深入解析Spring TransactionTemplate 高级用法(示例代码)

    深入解析Spring TransactionTemplate 高级用法(示例代码)

    TransactionTemplate是 Spring 框架中一个强大的工具,它允许开发者以编程方式控制事务,通过本文的详细解析和示例代码,我们可以看到如何使用 `TransactionTemplate` 来执行事务性操作,并处理高级事务场景,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • java token生成和校验的实例代码

    java token生成和校验的实例代码

    这篇文章主要介绍了java token生成和校验的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Mybatis查询语句结果集的总结大全

    Mybatis查询语句结果集的总结大全

    这篇文章主要给大家总结介绍了关于Mybatis查询语句结果集的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08

最新评论