码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java中数组的5种拷贝方法


    目录

    1、for循环

    示例代码:

    2、调用clone()方法

    示例代码:

    3、Arrays类中的Arrays.copyOf()方法

     示例代码:

    4、copyOfRange()方法

    示例代码:

    5、System.arraycopy()方法

    示例代码:


    1、for循环

    for循环拷贝是最简单直观的方法,循环访问当前数组的每一个元素,并复制到新数组的相应下标。

    示例代码:

    运行结果:

     

    2、调用clone()方法

    该方法是类Object类中的方法;使用clone方法进行拷贝时,是将arr中的所有元素都拷贝下来,不可以挑选。 clone() 方法的返回值是 Object 类型,要使用强制类型转换为适当的类型。

    示例代码:

     运行结果:

    3、Arrays类中的Arrays.copyOf()方法

    该方法是整体拷贝。

     int [] original:将要拷贝的原数组
    int newLength:新数组的长度;可以扩容到原数组长度的2倍

    使用这种方法复制数组时,默认从原数组的第一个元素(下标为 0)开始复制,新数组的长度将为 newlength。如果新数组长度 length 大于原数组长度,则新数组中采用默认值0进行填充;如果 newlength 小于原数组长度,则复制到第 length 个元素(下标为 length-1)截止。

    这个方法底层调用了System.arraycopy方法:

     示例代码:

     运行结果:

    4、copyOfRange()方法

    该方法是Arrays 类中的 CopyOfRange() 方法,该方法用于拷贝某个范围

    int[] original:将要拷贝的原数组
    int from:拷贝数组的起始下标 ,下标值必须在 0 到原数组长度之间;

    int to:拷贝数组的终止下标,且终止下标必须大于等于起始下标,也可以大于 arr.length,如果大于 arr.length,则新数组中剩余的空位置用默认值0进行填充。

    示例代码:

     运行结果:

    5、System.arraycopy()方法

    该方法位于System类中,语法形式如下:

    使用此方法复制数组时,length+srcPos必须小于等于原数组的长度,同时 length+destPos 必须小于等于新数组的长度。

    示例代码:

     运行结果:

     

  • 相关阅读:
    基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现
    竞赛选题 深度学习卫星遥感图像检测与识别 -opencv python 目标检测
    springboot2整合开发流程示例
    如何在Spring Boot中记录用户系统操作流程?
    flv.js源码知识点(中)
    数字化营销到底是什么?与传统营销有什么区别?
    托管网站需要知道的网站优化指标有哪些
    堆(堆排序和模拟堆)
    智慧电力物联网系统引领电力行业数字化发展
    【MySQL知识体系】第1章 初识 MySQL
  • 原文地址:https://blog.csdn.net/qq_49129184/article/details/125964685
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号