如何在java循环中使用数组concat或combine方法

时间:2014-06-11 08:44:43

标签: 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 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 : [a, m]
such : [a]
such : [l, a, z, y]
such : [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]

我需要帮助才能获得上述输出。

2 个答案:

答案 0 :(得分:1)

如果您想使用ArrayUtils,可以按照以下步骤进行操作。

在你的循环之外初始化为空:

String[] such = new String[0];

然后在你的循环中用你的当前String []这样的行替换:

such = ArrayUtils.addAll(such, word[i].split("(?!^)"));

答案 1 :(得分:0)

尝试:

"i am a lazy boy".replaceAll(" ", "").toCharArray();

此处的类型为char[],但实际上比原来的String[]

更好