在 Java 中使用数组

与其跟踪数十个单独的变量,不如在 Java 中使用数组以结构化的方式收集和存储数据。
还没有人喜欢这篇文章。
What is your favorite open source Java IDE?

Pixabay. CC0.

在 Java 编程语言中,数组是有序的数据集合。 您可以使用数组以结构化的方式存储信息。 了解在需要时检索这些数据的各种方法非常有用。 值得注意的是,在 Java 中,关联数组(在某些语言中也称为字典)被称为哈希映射。 本文不包括哈希映射,但您可以在我的在 Java 中使用哈希映射文章中阅读所有相关内容。

创建字符串数组

Java 中最简单的数组是一维数组。它本质上是一个列表。 对于字符串数组

package com.opensource.example;

public class Example {

    public static void main(String[] args) {
        String[] myArray = {"foo", "bar", "baz"};

        // retrieval
        System.out.println(myArray[0]);
        System.out.println(myArray[1]);
        System.out.println(myArray[2]);
    }
}

请注意,从数组中检索数据时,索引从 0 开始,而不是从 1 开始。 换句话说,包含三个值的数组编号为 0 到 2。

或者,您可以创建一个数组并在以后填充它。 但是,执行此操作时,您还必须告诉 Java 数组的长度。 在这种情况下,“长度”是指数组可以容纳的项目数。

package com.opensource.example;

public class Example {
    public static void main(String[] args) {
        String[] myArray = new String[3];

        System.out.println("Empty myArray created.");

        // populate the array
        myArray[0] = "foo";
        myArray[1] = "bar";
        myArray[2] = "baz";

        // retrieval
        System.out.println(myArray[0]);
        System.out.println(myArray[1]);
        System.out.println(myArray[2]);
    }
}

假设代码保存在名为 main.java 的文件中,请使用 java 命令运行它

$ java ./main.java
foo
bar
baz

要创建整数数组,请将数据类型定义为 int 而不是 String

package com.opensource.example;

public class Example {
    public static void main(String[] args) {
      int[] myArray = { 1, 2, 3 };

      System.out.println(myArray[0]);
      System.out.println(myArray[1]);
      System.out.println(myArray[2]);
    }
}

运行代码

$ java ./main.java
1
2
3

迭代数组

将数据存储在数组中后,您可能打算在某个时候检索它。 查看数组中所有数据的最直接方法是创建一个 for 循环,该循环使用 .length 方法获取数组的长度,然后循环遍历数组的次数等于该长度

package com.opensource.example;

public class Example {
    public static void main(String[] args) {

        String[] myArray = { "foo", "bar", "baz" };

        for (int i=0; i < myArray.length; i++) {
            System.out.println(myArray[i]);
        }
    }
}

运行代码

$ java ./main.java
foo
bar
baz

多维数组

数组不必只是一个简单的列表。 它也可以是列表的列表。 这称为多维数组,只要您将其视为数组的数组,它就非常直观

package com.opensource.example;

public class Example {
    public static void main(String[] args) {
        String[][] myArray = {{ "zombie", "apocalypse" }, { "happy", "halloween" }};
        }
    }
}

要查看数组的内容,可以使用嵌套的 for 循环。 在一维数组中,您必须获得 myArray 的长度,以便您的 for 循环知道何时停止迭代数组。 这一次,您必须获取 myArray 中每个数组的长度。 为了简单起见,我将这两个数组称为 outerinner,前者是 myArray,后者代表每个嵌套数组

int outer = myArray.length;
int inner = myArray[1].length;

一旦您有了这两个长度,您就可以将它们用作 for 循环的限制

for (int i = 0; i < outer; i++) {
  for (int j = 0; j < inner; j++) {
    System.out.println(myArray[i][j]);
    }
  }

这是完整的代码示例

package com.opensource.example;

  public class Example {
      String[][] myArray = {{ "foo", "bar" }, { "baz", "qux" }};

      int outer = myArray.length;
      int inner = myArray[1].length;

      for (int i = 0; i < outer; i++) {
         for (int j = 0; j < inner; j++) {
            System.out.println(myArray[i][j]);
            }
        }
    }
}

运行代码

$ java ./main.java
zombie
apocalypse
happy
halloween

数据数组

有时,使用 Java 数组比跟踪数十个单独的变量更有意义。 一旦您了解如何在一种语言中构建和检索数据,您就可以以有组织且方便的方式生成复杂数据。

标签
Seth Kenlon
Seth Kenlon 是 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。 他曾在电影和计算行业工作,而且通常同时从事这两个行业。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© 2025 open-source.net.cn. All rights reserved.