java - 在 ArrayList 上使用递归

标签 java recursion arraylist

好的,我得到了 ArrayList<Integer> num其中已包含 [1,2,3,4]。我的工作是对平方求和,然后将每个整数的平方放入 ArrayList数字旁边[1,1,2,4,3,9,4,16]

我算出了平方和部分。我不知道如何继续将平方数添加到该区域中。

我应该创建一个新的 ArrayList并从那里弄清楚?也许是一个辅助方法?

此外,我不允许使用任何循环。

最佳答案

您可以从索引 0 开始检查,并递归调用该方法来更新输出列表,直到输入列表的大小。您可以使用递归像下面一样执行此操作。

public static void main(final String[] args) {

    final List<Integer> input = Arrays.asList(1, 2, 3, 4);
    final List<Integer> output = new ArrayList<Integer>();

    final int index = 0;

    if (index < input.size()) {
      updateList(input, output, index);
    }

    System.out.println(output);

  }

  private static void updateList(final List<Integer> input, final List<Integer> output, int index) {

    output.add(input.get(index));
    output.add(input.get(index) * input.get(index));

    ++index;

    if (index < input.size()) {
      updateList(input, output, index);
    }

  }

输入: [1, 2 3, 4,] 输出: [1, 1, 2, 4, 3, 9, 4, 16]

关于java - 在 ArrayList 上使用递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58328011/

相关文章:

java - Java 中的 GC.AddMemoryPressure 等价物

java - Android 开发新手——这行 XML 是什么意思?

java - 解决 Java 中的 Codechef 问题

java - 从对象内的对象调用方法?(Java)

java - ArrayList for 循环仅适用于第一个元素

java - 如何控制 Java 正则表达式中的迭代步骤?

java - 递归检查

c - 在递归函数中使用 libpcre

python - 编写此递归函数的更多 pythonic 方式

java - libgdx 中的 arraylist 出现错误