gpt4 book ai didi

java - 打印ArrayList的每个元素并在String java中使用

转载 作者:行者123 更新时间:2023-11-30 02:26:22 26 4
gpt4 key购买 nike

我想获取 ArrayList 的每个元素并使用它来创建一个字符串:

  1. 包含与 ArrayList 元素一样多的单词,并且,
  2. 为每个单词打印 ArrayList 中的 int 值。

为了更清楚地说明,我想打印一个如下所示的字符串:

System.out.println(result);
element(0), element(1), element(2), element(3)

不幸的是,我只从 ArrayList 中获取最后一个 Integer 的值,但“element”单词的数量是正确的,所以我的实际结果 String 看起来像这样:

System.out.println(result);
element(3), element(3), element(3), element(3)

ArrayList 只有 4 个元素:

[0, 1, 2, 3]

为了生成这个不正确的字符串,我使用以下代码:

List<Integer> intList = new ArrayList<Integer>();
int intValue;
String result;

int n = intList.size();
for (int i=0; i < n; i++) {
intValue = intList.get(i);
result = String.join(", ", java.util.Collections.nCopies(n, "element("+intValue+")"));
}

那么如何使用 ArrayList 的所有值创建正确的字符串?

最佳答案

这里:

for ... {
result = String.join(...)
}

在循环中,您在每次迭代期间重新分配连接的字符串到结果。换句话说:在循环 (n) 中,您丢弃了在循环 (n-1) 中创建的内容。

尝试使用 += 代替。或者直接选择:

StringBuilder builder = new StringBuilder;
for ... {
builder.append(...
}
String finalResult = builder.toString();

相反。

使用构建器时:

  • 使您的意图更加清晰(您打算最终构建一个字符串)
  • 提供了一些轻微的性能改进(考虑到这里的“小规模”,这并不重要)。

关于java - 打印ArrayList的每个元素并在String java中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45569413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com