Java算法基础:数组元素的增加与删除

一、数组增加元素的思路:

1:创建一个新的数组,数组长度为原数组的长度加一。

2:将需要增加的元素值赋给数组的最后一个元素。

3:将新的数组赋给原来的数组

package test;

import java.util.Arrays;
public class TestArray {
    public static void main(String[] args) {
        //解决数组长度不可变的问题
        int[] arr = new int[] {9,8,7};
        System.out.println(Arrays.toString(arr));
        //要加入数组的目标元素
        int dst = 6;        
        //创建一个新数组,长度是原来数组长度+1
        int[] newarr = new int[arr.length+1];
        //把原数组中的数据全部复制到新数组中
        for (int i = 0; i < arr.length; i++) {
            newarr[i] = arr[i];
        }
        //把目标元素加入新数组的最后
        newarr[arr.length] = dst;
        //新数组替换原数组
        arr = newarr;
        System.out.println(Arrays.toString(arr));
        
        
    }
}

 

 

二:数组元素删除的思路:

1:创建一个新数组,数组长度为原来数组的长度减一

2:定义需要删除的元素下标

3:将删除下标之前的元素赋给新数组的下标值,删除下标之后的元素赋给新数组下标值-1

package test;

import java.util.Arrays;

public class TestOpArray {
    public static void main(String[] args) {
        //解决数组删除元素的问题
        //目标数组
        int[] arr = new int[] {9,8,7,6,5,4};
        System.out.println(Arrays.toString(arr));
        //要删除元素的下标
        int dst=3;
        //创建一个新的数组,长度是原数组-1
        int[] newarr = new int[arr.length-1];
        //复制原数组中除了要删除的那个元素以外的其他元素
        for (int i = 0; i < newarr.length; i++) {
            //要删除之前的元素
            if(i<dst) {
                newarr[i] = arr[i];
                //要删除之后的元素
            }else {
                newarr[i]=arr[i+1];
            }
        }
        //新数组替换旧数组
        arr = newarr;
        System.out.println(Arrays.toString(arr));
    }
}

 

posted @ 2020-03-10 16:34  一天一天yg  阅读(4668)  评论(0编辑  收藏  举报