数组再分配 ArrayReallocationDemo

本文通过Java代码实例展示了数组再分配、复制和范围复制的功能,包括使用Arrays.copyOf、Arrays.copyOfRange和System.arraycopy方法的操作过程及效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Arrays; public class ArrayReallocationDemo {//Reallocation 再分配的意思 public static void main(String[] args) { int[] data1 = new int[]{1,3,5,7,9}; printArray(data1);//调用此方法 /** * [1,3,5,7,9] */ int[] data2 = Arrays.copyOf(data1, 6);//复制指定的数组,data1为要复制的数组,6为返回的副本的长度 data2[5] = 11;//把11给data2下标为5这个值 printArray(data2); /** * [1,3,5,7,9,11] */ int[] data3 = Arrays.copyOfRange(data1, 2,10);//将指定数组的指定范围复制到一个新数组。 //2为要复制的范围的初始索引(包括) 10为最后索引(不包括) printArray(data3); /** * [5,7,9,0,0,0,0,0] */ char[] copyFrom = { 'd', 'e', 'c', 'a', 'f', 'f', 'e', 'i', 'n', 'a', 't', 'e', 'd' }; char[] copyTo = new char[7]; /** * 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 * src - 源数组。 * srcPos - 源数组中的起始位置。 * dest - 目标数组。 * destPos - 目标数据中的起始位置。 * length - 要复制的数组元素的数量。 */ System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo)); /** * caffein */ } private static void printArray(int[] data){ //构造一个字符串生成器,并初始化为指定的字符串内容。"[" StringBuilder stringBuilder = new StringBuilder("["); for(int i = 0; i< data.length; i++){ stringBuilder.append(data[i]);//把传进来的data循环增加到stringBuilder if(i < data.length - 1){//最后一个数之前 stringBuilder.append(",");//加上 ,符号 } } stringBuilder.append("]");//以']'符号结尾 System.out.println(stringBuilder); } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值