java - 避免两个 for 循环并将它们合并为一个的更有效方法?

标签 java for-loop

基本上,我得到了这个:

(path 是一个字符串数组)

    String writer = "";
    for (int i = 0; i < path.length; i++) {
        writer += path[i] + "{";
    }
    writer += string;
    for (int i = 0; i < path.length; i++) {
        writer += "}";
    }

但这看起来丑陋且效率低下。有没有办法将其正确地组合成一个 for 循环?

最佳答案

这是一个没有 for 循环并使用 StringBuilder 而不是 += 结构的解决方案,这可能会导致内存占用- 以及性能问题。

StringBuilder firstPart = new StringBuilder();
StringBuilder lastPart = new StringBuilder();

Arrays.stream(path)
    .forEach(elem -> {
        firstPart.append(elem);
        firstPart.append("{");
        lastPart.append("}");
    });

firstPart.append(string);
firstPart.append(lastPart.toString());
String writer = firstPart.toString();

关于java - 避免两个 for 循环并将它们合并为一个的更有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47876216/

相关文章:

java - 关于 Zxing for Android 的问题

java - JSTL if 标签始终执行为 true

java - 尝试在 Java 中打印数组时出现异常

java - 安卓/Java : For loop preventing array from being called

c++ - 使用基于范围的 for 循环时需要迭代器

java - 分析 Mule ESB 应用程序

java - 如何通过 Intellij 自动修复 FinalLocalVariable 和 FinalParameters 的 checkstyle 警告

java - 获取静脉中所有相似的 block

python - 检查一行是否以列表中的字符串开头的首选方法?

c - C语言中的for循环,for(i = len; i--;)