java怎么复制数组,java数组复制到另一个数组

  java怎么复制数组,java数组复制到另一个数组

  1.数组长度相等。

  假设nums和nums1是两个长度相等的数组。

  (推荐课程:java课程)

  1.1,使用nums=nums1

  分配前

  如何解决写爬虫IP受阻的问题?立即使用。

  分配后

  创建nums时,在堆中创建一个内存区域用于存储,nums指向这个内存地址a。创建Nums1并指向B.

  现在设nums=nums1num1的地址(或引用)赋给num,所以num也指向b,两个数组都指向堆中的同一个内存区域,它们共享其中的数据。

  1.2,for循环

  for(int I=0;I nums 1 . length;i ){

  nums[I]=nums 1[I];

  }流通前

  循环后

  成功更改了nums数组的内部内容,但没有更改其引用。

  1.3.数组类

  1:将指定的数组复制到指定的长度。

  nums=Arrays.copyOf(nums1,5);2:复制指定长度的指定数组。

  nums=arrays . copyofrage(nums 1,0,5);在这两种方法中,最后一个索引可以是数组的长度,然后后面的索引将用0填充。

  两种方法都可以成功复制数组,我们发现原来的数组nums从524变成了526,说明这两种复制方法都是创建一个新的数组,然后用等号左边的数组指向这个新的数组。

  1.4、System.arraycopy方法

  System.arraycopy(originalArray,0,targetArray,0,original array . length);

  可以看出这个方法类似于我们的for循环,直接改变原数组的内容,不改变引用。

  2.数组长度不相等。

  如果赋值方法成功,for循环要注意越界的问题,Java。lang . arrayindexoutofboundsexception Arrays类方法会报告越界的问题,而Java。将报告lang . arrayindexoutofboundsexception。

  其他:

  给定一个数组nums,写一个函数将所有的零移动到数组的末尾,同时保持非零元素的相对顺序。

  //思路:设置一个索引来表示非零数字的个数,循环遍历数组,

  //如果不为0,则将非零值移动到索引位置,然后索引1

  //遍历后,索引值表示为0以外的数字。再次遍历,此时索引位置之后的所有位置都应该为0。

  public void move zeros(int[]nums){

  if (nums==null nums.length=1) {

  返回;

  }

  int index=0;

  for(int I=0;i nums.lengthi ) {

  if (nums[i]!=0) {

  nums[index]=nums[I];

  指数;

  }

  }

  for(int I=index;i nums.lengthi ) {

  nums[I]=0;

  }

  }相关推荐:java简介以上是java如何复制数组的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: