菜单

Java 中的基本数组操作摘要。

目录

声明数组后立即对其进行初始化。

数组可以在声明的同时初始化,方法是写入

示例代码

static void arraySample() {
    String[] s = {"苹果"、"柑橘"、"香蕉"};
}
System.out.println(s[1]);

输出结果:

未完成


获取数组中元素的个数 -。 长度

如果想知道数组中有多少个元素,可以使用 length,但需要注意的是,length 是一个字段,而不是一种方法。

示例代码

static void lengthSample() {
    String[] s1 = {"苹果"、"柑橘"、"葡萄"};
    String[] s2 = {};
    System.out.println(s1.length);
    System.out.println(s2.length);
}

输出结果:

3
0

复制数组 复制

如果你想创建一个与数组完全相同的数组,克隆很有用。

示例代码

static void cloneSample() {
    String[] s1 = {"苹果"、"柑橘"、"葡萄"};
    String[] s2 = s1.clone();
    System.out.println(s1[0] + ' ' + s1[1] + ' ' + s1[2]);
    System.out.println(s2[0] + ' ' + s2[1] + ' ' + s2[2]);
}

输出结果:

苹果 橘子 葡萄
苹果 橘子 葡萄

复制数组 System.arraycopy

Java 中数组的初始化大小是固定的。如果想在创建数组后增加其大小,则需要使用 System.arraycopy。

arraycopy 用于复制数组,与 clone 类似,但比 clone 允许更多的微调。

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
 src...复制对象的数组
 srcPos...要复制的源数组(src)的起始位置
 dest...目标数组
 destPos...要复制的目标数组(dest)的起始位置
 length...要复制的元素个数

示例代码

static void arraycopySample() {
    String[] s1 = {"苹果"、"柑橘"、"葡萄"};
    String[] s2 = new String[5];
    System.arraycopy(s1, 0, s2, 0, 3);
    s2[3] = "香蕉";
    s2[4] = "樱桃";
    System.out.println(s1[0] + " " + s1[1] + " " + s1[2]);
    System.out.println(s2[0] + " " + s2[1] + " " + s2[2] + " " + s2[3] + " " + s2[4]);
}

输出结果:

苹果 橘子 葡萄
苹果 橘子 葡萄 香蕉 樱桃

使用 arraycopy 连接数组也很方便。

示例代码

static void joinArraySample() {
    String[] s1 = {"苹果"、"柑橘"、"葡萄"};
    String[] s2 = {"香蕉"、"樱桃"、"Momo"};
    int rLen = s1.length + s2.length;
    String[] rStr = new String[rLen]; //初始化 s1 和 s2 长度的数组
    System.arraycopy(s1, 0, rStr, 0, s1.length);
    System.arraycopy(s2, 0, rStr, s1.length, s2.length); //设置目标数组的起始位置是关键
    System.out.println(rStr[0] + " " + rStr[1] + " " + rStr[2] + " " + rStr[3] + " " + rStr[4] + " " + rStr[5]);
}

输出结果:

苹果 橘子 葡萄 香蕉 樱桃 莫莫

创建多维数组

通过在数组中创建数组,可以创建多维数组。例如,这在存储表格数据时非常有用。

示例代码

static void twoDArraySample() {
    int[] a1 = {38, 84, 98};
    int[] a2 = {32, 11, 56};
    int[] a3 = {82, 77, 8};
    int[][] twoDArray = {a1, a2, a3};
    for (int[] a : twoDArray) {
        for (int score : a) {
            system.out.print(score + " "); }
        }
        System.out.println(""); }
    }
}

输出结果:

38 84 98 
32 11 56 
82 77 8 
  • URLをコピーしました!
目录