JAVA——————数组扩容(很少用)

数组的扩容复制

  1. 需要明确一点:数组长度一旦确定,就不可更改
  2. 数组的复制:
    1. 方式一:

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

          从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

package com.baizhi.day07;

public class ArrayCopy{

public static void main(String[]args){

int[] arr = {12,5,69,32,21,45,96};

/*

src: 源数组

srcPos: 要复制的源数组的起始位置

dest:  要存放的数组(目标数组)

destPos: 目标数组的起始位置

length: 从原数组复制多少个元素

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

                                  从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

               */

                // 复制  5 69  32 21 到数组array

                int[]array = new int[8];

                System.arraycopy(arr,1,array,2,4);

                for(int i=0;i<array.length;i++){

                System.out.println(array[i]);

                }

}

}

  1. 方式二

copyOf(int[] original, int newLength)

          复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。

public class ArrayCopy2{

public static void main(String[]args){

int[] arr = {12,5,69,32,21,45,96};

System.out.println("数组arr长度是:"+arr.length);

/*

copyOf(int[] original, int newLength)

                              复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。

      */

         //将arr所有元素复制到array

          int[] array = Arrays.copyOf(arr,arr.length);

          for(int i=0;i<array.length;i++){

       System.out.println(array[i]);

         }

}

}

  1. 数组的扩容,数组的扩容实际上是基于数组的复制完成的,所以数组在扩容之后地址会发生改变

package com.baizhi.day07;

import java.util.Arrays;

/**

数组的扩容

*/

public class ArrayDilatation{

public static void main(String[]args){

int[] arr = {12,5,69,32,21,45,96};

System.out.println("数组arr长度是:"+arr.length);

//数组arr进行扩容

arr = Arrays.copyOf(arr,arr.length+2);

System.out.println("数组arr长度是:"+arr.length);

for(int i=0;i<arr.length;i++){

System.out.println(arr[i]);

}

}

}

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值