java基础回顾之在数组指定位置插入元素

574 篇文章 4 订阅
package com.bjpowernode.test;
import java.util.Arrays;

/**
 * ClassName:Test
 * PackageName:com.bjpowernode.test
 * Description:在数组指定位置插入元素
 *
 * @date:2020/6/20 17:01
 * @author:robin
 */
public class Test {
    public static  void main(String[]args){
        int[]data={12,23,45,48,50};
        //需求:在索引值为2的地方插入一个数:666,敏捷开发就是先定义一个方法。逆向写代码
        //期望最终返回:   int[]data={12,23,666,45,48,50};
        int[] newArray = insert(data, 2, 666);
        //"C:\Program Files\Java\jdk1.8.0_101\bin\java.exe" "-javaagent:D:\IntelijIdeaInstalled\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=9043:D:\IntelijIdeaInstalled\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_101\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\rt.jar;D:\test\target\classes" com.bjpowernode.test.Test
        //最终返回结果====》[12, 23, 666, 45, 48, 50]
        System.out.println( "最终返回结果====》"+Arrays.toString(newArray));


    }
// i表示数组索引,int表示插入的数   data表示原数组
    private static int[] insert(int[] data, int i, int key) {
        //数组扩容,第一步:定义一个更大的数组
        int[] data2=new int[data.length+1];
          //第二步:把数组中【0,i)范围的元素复制到data2对应的位置
        for (int j = 0; j < i; j++) {
           data2[j]= data[j];
        }
        //第三步:把key元素保存到 data2[i]的位置
        data2[i]=key;
        //第四步:把数组data中(i,data.length)范围的元素复制到data2数组从 i+1对应的位置。
        for (int k = i; k <data.length ; k++) {
                  data2[k+1]=data[k];
        }

        return data2;

    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值