【问题标题】:How does one add new values or elements into an array for JAVA? [duplicate]如何将新值或元素添加到 JAVA 数组中? [复制]
【发布时间】:2018-04-14 10:53:31
【问题描述】:

我正在解决以下问题,我必须创建上述方法:

int[] runLength(int[] a) 接受一个数组,该数组由一系列元素值组成,后跟这些元素的运行长度,在交替位置列出。此方法创建并返回一个包含这些元素的新数组,每个元素重复由其运行长度给出的次数。例如,当使用数组 {3, 8, 1, -7, 0, 42, 4, -3} 调用时(大声读为“三个八,一减七,零四十二,四减三”),您的方法将创建并返回数组 {8, 8, 8, -7, -3, -3, -3, -3}。同样,确保您的方法返回的数组具有正确的长度。

public int[] runLength(int[] a) {

    int[] answer;

    for(int i = 0; i <= answer.length; i++) {
        if(i % 2 != 0) {
            for(int j = 0; j < i; j++) {
                // answer.push(i+1); is what I would do in Javascript
            }
        }
    }

}

我实际上是先用 javascript 编写这个程序,因为我更熟悉它,然后翻译成 Java(我仍然确定我的 for 循环可能有一些错误。我现在实际上正在稳步学习 Java,但意识到显然,Java 在向数组中添加新值时与 push() 方法有一些不同。那么我将如何在 Java 中做到这一点?

【问题讨论】:

标签: javascript java arrays for-loop arraylist


【解决方案1】:

数组(使用[])是固定大小的。

如果您想向数组中添加内容,则需要 ArrayList&lt;T&gt;

请注意,在遍历数组时,您不能向数组中添加内容,这样做会导致抛出 ConcurrentModificationException,从而导致程序崩溃。

【讨论】:

    【解决方案2】:

    在 java 中,数组在初始化时设置为固定大小。 “更改”数组大小的唯一方法是创建一个新数组并复制所有旧值。幸运的是,Java 有一个名为 ArrayList 的类,它具有您正在寻找的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 2023-04-04
      • 2023-04-02
      • 2014-05-26
      • 1970-01-01
      相关资源
      最近更新 更多