重新格式化字符串数组 - java

我想根据条件重新格式化String数组。说,数组

A = ["samsung", "chargers", "fast", "charging", "rapid", "high"]

int index = 1

这意味着我将用空格将这些项附加到索引1并格式化数组。所以,最终,

A = ["samsung chargers", "fast", "charging", "rapid", "high"]

对于索引= 2,输出应为

A = ["samsung chargers fast", "charging", "rapid", "high"]

我编写了有效的代码,我试图找到更简洁(但不是低性能)的方法。

StringBuilder builder = null;

..........

int fCount = ...

// format the array to match the string
// values = ["samsung", "chargers", "fast", "charging", "rapid", "high"]

builder = new StringBuilder();
String formated = "";

for (int i = 0; i <= fCount; i++) {
    builder.append(values[i]).append(" ");
}

formated = builder.toString().trim();

String[] fVaues = new String[values.length - fCount];

fVaues[0] = formated;

for (int i = 1; i < fVaues.length; i++) {
    fVaues[i] = values[i+1];
}

实现它的简单方法是什么?

参考方案

您可以遍历它,将字符串添加到第二个数组中:

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…

Java RegEx中的单词边界\ b - java

我在使用\b作为Java Regex中的单词定界符时遇到困难。对于text = "/* sql statement */ INSERT INTO someTable"; Pattern.compile("(?i)\binsert\b");找不到匹配项Pattern insPtrn = Pattern.compile(&…

在Java中使用新关键字和直接赋值的字符串 - java

String s="hi"; String s1=new String("hi"); 从内存角度看,s和s1存储在哪里?无论是在堆内存还是堆栈中。s指向“ hi”,而s1指向hi存在的内存位置?请帮忙? 参考方案 考虑以下 String s = "hi"; String s1 = new Strin…

Java Double与BigDecimal - java

我正在查看一些使用双精度变量来存储(360-359.9998779296875)结果为0.0001220703125的代码。 double变量将其存储为-1.220703125E-4。当我使用BigDecimal时,其存储为0.0001220703125。为什么将它双重存储为-1.220703125E-4? 参考方案 我不会在这里提及精度问题,而只会提及数字…

如何转义将成为字符串一部分的斜线? - java

我很难找到一种方法来逃避这些引用,String key = StringUtils.substringBetween(html, "class=\"category_keyword\"", "&gt;"); 特别是这部分:"class=\"category_keyword…