如何在java循环中使用数组concate或组合方法
在回答之前,请仔细阅读括号内的段落 (下面的代码只是我实践中的大型代码的一个小模型,实际代码包含数千个 单词和它们的数组被进一步处理成许多必需的东西。例如,“我是一个懒惰的男孩”将被删除 转换为“[i1][a2,m2][a1][l4,a4,z4,y4][b3,o3,y3]”,并将它们连接起来[i1,a2,m2,a1,l4,a4,z4 y4,b3,o3,y3]) 以下是完整的迷你模型代码:如何在java循环中使用数组concate或组合方法,java,arrays,string,concat,Java,Arrays,String,Concat,在回答之前,请仔细阅读括号内的段落 (下面的代码只是我实践中的大型代码的一个小模型,实际代码包含数千个 单词和它们的数组被进一步处理成许多必需的东西。例如,“我是一个懒惰的男孩”将被删除 转换为“[i1][a2,m2][a1][l4,a4,z4,y4][b3,o3,y3]”,并将它们连接起来[i1,a2,m2,a1,l4,a4,z4 y4,b3,o3,y3]) 以下是完整的迷你模型代码: import com.google.common.collect.ObjectArrays; import
import com.google.common.collect.ObjectArrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
public class WordSplit {
public static void main(String[] args) {
String str= "i am a lazy boy";
String[] word = str.split("\\s");
//String[] chars = word.split("(?!^)");
for(int i=0; i<word.length; i++){
String [] such= word[i].split("(?!^)");
/*upto here five such arrays has been creataed as:
such : [i]
such : [a, m]
such : [a]
such : [l, a, z, y]
such : [b, o, y]
*/
/* HOW TO USE HERE ObjectArrays.concat()OR ArrayUtils.addAll( );
SOME ITS EQUIVALENT TO GET THIS OUTPUT:
[i,a,m,a,l,a,z,y,b,o,y]
*/
}
}}
但我希望通过某种方法,它们会像循环的步骤一样被浓缩
such: [i]
such: [i, a, m]
such: [i, a, m, a]
such: [i, a, m, a, l, a, z, y]
such: [i, a, m, a, l, a, z, y, b, o, y]
我需要帮助才能获得上述输出。请尝试:
"i am a lazy boy".replaceAll(" ", "").toCharArray();
这里的类型是
char[]
,但它实际上比原始的String[]
要好。如果您想使用ArrayUtils,可以按如下方式操作
将循环外部的此类文件初始化为空:
String[] such = new String[0];
然后在循环中,将当前字符串[]等=行替换为:
such = ArrayUtils.addAll(such, word[i].split("(?!^)"));
您尝试过什么吗?只需手动编写,不需要库函数,它应该不会超过5行代码…您提到了ArrayUtils.addAll()。是什么阻止了你使用它?我理解,但是他拆分了他的原始字符串,为每个字符串创建一个数组,然后合并所有数组,同时他可以直接得到答案。
such = ArrayUtils.addAll(such, word[i].split("(?!^)"));