首页 > 技术文章 > java,array数组学习(数组定义语法,取值,数组扩容,指定删除)

xiamaojjie 2020-02-06 00:00 原文

数组定义的2种方式:

已知数据数组:

String[] name = { "张三", "李四", "王五" };

未知数据数组:

String[] langage = new String[3];

已知数据二维数组:

int[][] age = { { 20, 30 }, { 50, 60 }, { 80 } };

未知数据二维数组:

String[][] gender = new String[3][2];

数组取值通过下标取值:

数组内存分析如图:

删除数组中指定索引位置的元素,并将元素返回:

    // 删除数组中指定索引位置的元素,并将元素返回
    public static String[] removeElement(String[] arrayName, int index) {
        System.arraycopy(arrayName, index + 1, arrayName, index, arrayName.length - index - 1);
        arrayName[arrayName.length - 1] = null;
        for (int i = 0; i < arrayName.length; i++) {
            System.out.println(arrayName[i]);
        }
        return arrayName;
    }

数组扩容:

// 数组扩容
    public static String[] extendRange(String[] srcArray) {
        String[] destArray = new String[srcArray.length * 2];
        System.arraycopy(srcArray, 0, destArray, 0, srcArray.length);
        for (String tempArray : destArray) {
            System.out.println(tempArray);
        }
        return destArray;
    }

测试代码:

package com.sxt;

public class ArrayCopy {
    public static void main(String[] args) {
        String[] arrayName = { "JAVA", "C", "PYTHON", "C++", "GOLANG" };
        int index = 2;
        removeElement(arrayName, index);

        String[] srcArray = { "小学", "中学", "大学" };
        extendRange(srcArray);
    }

    // 删除数组中指定索引位置的元素,并将元素返回
    public static String[] removeElement(String[] arrayName, int index) {
        System.arraycopy(arrayName, index + 1, arrayName, index, arrayName.length - index - 1);
        arrayName[arrayName.length - 1] = null;
        for (int i = 0; i < arrayName.length; i++) {
            System.out.println(arrayName[i]);
        }
        return arrayName;
    }

    // 数组扩容
    public static String[] extendRange(String[] srcArray) {
        String[] destArray = new String[srcArray.length * 2];
        System.arraycopy(srcArray, 0, destArray, 0, srcArray.length);
        for (String tempArray : destArray) {
            System.out.println(tempArray);
        }
        return destArray;
    }
}

 

推荐阅读