數組的 基本操做 【增刪查改】

import java.util.Arrays;java

public class ArrayDemo05 {
    
    static int[] srcArr;
    
    public static void main(String[] args) {
        srcArr = new int[] {11, 22, 33, 44};
        System.out.println(Arrays.toString(srcArr));
        add(55);
        System.out.println(Arrays.toString(srcArr));
        add(66);
        System.out.println(Arrays.toString(srcArr));
        
        insert(srcArr.length, 100);
        System.out.println(Arrays.toString(srcArr));
        
        remove(6);
        System.out.println(Arrays.toString(srcArr));
        
        System.out.println(get(0));
        
        set(1, 200);
        System.out.println(Arrays.toString(srcArr));
        
    }
    
    /*
     * 動態擴容的原理
     * 往數組中動態添加一個元素
     * 返回值類型: void
     * 參數列表: int num
     * 方法名: add
     */
    /*public static void add(int num) {
        // 利用System.arraycopy方法處理
        int[] descArr = new int[srcArr.length + 1];
        // 複製數組
        System.arraycopy(srcArr, 0, descArr, 0, srcArr.length);
        // 將num賦值到目標數組的最後一個位置
        descArr[descArr.length - 1] = num;
        // 地址傳遞
        srcArr = descArr;
    }*/
    
    public static void add(int num) {
        int[] descArr = Arrays.copyOf(srcArr, srcArr.length + 1);
        descArr[descArr.length - 1] = num;
        srcArr = descArr;
    }
    
    /*
     * 往數組的任意位置插入一個元素
     * 返回值類型: void
     * 參數列表: int index, int num
     * 方法名: insert
     */
    public static void insert(int index, int num) {
        int[] descArr = new int[srcArr.length + 1];
        System.arraycopy(srcArr, 0, descArr, 0, index);
        descArr[index] = num;
        System.arraycopy(srcArr, index, descArr, index + 1, srcArr.length - index);
        srcArr = descArr;
    }
    
    /*
     * 將數組中的某個索引處的元素刪除
     * 返回值類型: void
     * 參數列表: int index
     * 方法名: remove
     */
    public static void remove(int index) {
        int[] descArr = new int[srcArr.length - 1];
        System.arraycopy(srcArr, 0, descArr, 0, index);
        System.arraycopy(srcArr, index + 1, descArr, index, descArr.length - index);
        srcArr = descArr;
    }
    
    
    /*
     * 找出數組中的某個索引處的元素
     * 返回值類型: int
     * 參數列表: int index
     * 方法名: get
     */
    public static int get(int index) {
        return srcArr[index];
    }
    
    /*
     * 找出數組中的某個索引處的元素
     * 返回值類型: void
     * 參數列表: int index , int num
     * 方法名: set
     */
    public static void set(int index, int num) {
        srcArr[index] = num;
    }
}
 數組

相關文章
相關標籤/搜索