入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

数组基本操作(四)

创建时间:2015-11-25 投稿人: 浏览次数:244

对数组进行插入操作,在固定位置插入一个数

<span style="font-size:18px;">public class ArrayTest{
    public static void main(String[] args) {
        //在哪个下标插入
        int index = 1;
	//插入数据
        int num = 456;
        //要插入的的数组
        int[] arr = { 1, 2, 3, 4, 5, 6, 67 };
        addParam2(index,num,arr);
        for (int j : addParam1(index,num,arr)) {
            System.out.println(j);
        }
    }</span>
<span style="font-size:18px;"><span style="white-space:pre">	</span>//方法一
    private static int[] addParam2(int index, int num, int[] arr) {
		
        if(index <0)
            index =0;
        if(index>=arr.length)
            index = arr.length;
		//临时数组
        int[] tempArr = new int[arr.length+1];
		//标注arr数组的角标位置
        int j=0;
        for (int i=0;i<tempArr.length;i++) {
			//循环到插入的下标时候 将数据插入这个位置
            if(index ==i){
                tempArr[i] = num;
                continue;
            }
			//对临时数组插入数据
            tempArr[i] = arr[j];
            j++;
        }
        return tempArr;
    }</span>
<span style="font-size:18px;"><span style="white-space:pre">	</span>//方法二
    private static int[] addParam1(int index, int num, int[] arr) {
        if(index <0)
            index =0;
        if(index>=arr.length)
            index = arr.length;
        int[] tempArr = new int[arr.length + 1];
        boolean flag = false;
        for (int i = 0; i < tempArr.length; i++) {
            if(index >arr.length){
                tempArr[tempArr.length-1] = num;
            }
            if (index == i) {
                tempArr[i] = num;
                flag = true;
                continue;
            }
            if (flag) {
                tempArr[i] = arr[i - 1];
            } else {
                tempArr[i] = arr[i];
            }

        }
        return tempArr;
    }
}
</span>


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。