Java 合并多个ArrayList<;字符串>;合二为一

Java 合并多个ArrayList<;字符串>;合二为一,java,arraylist,indexing,Java,Arraylist,Indexing,好的,我想合并这些arrayslist,这样它们就可以互相插入,并创建下面的句子。 输出:“这是我试图重建的句子” List<String> list1 = Arrays.asList(This, , , , , , , , reconstruct); List<String> list2 = Arrays.asList (, is, the, , , , trying, ,); List<String> list3 = Arrays.asList(, , ,

好的,我想合并这些arrayslist,这样它们就可以互相插入,并创建下面的句子。 输出:“这是我试图重建的句子”

List<String> list1 = Arrays.asList(This, , , , , , , , reconstruct);
List<String> list2 = Arrays.asList (, is, the, , , , trying, ,);
List<String> list3 = Arrays.asList(, , ,sentence, that, I'm, , to,);
List list1=Arrays.asList(此、、、重构);
List list2=Arrays.asList(,is,the,,trying,);
List list3=Arrays.asList(,句子,that,I'm,to,);

我尝试使用list.addall(list2),但它只是将每个列表放在另一个列表的旁边。如何集成列表?

您可以使用以下内容

    List<String> list1 = Arrays.asList("This", "", "", "", "", "", "", "", " reconstruct");
    List<String> list2 = Arrays.asList("", " is", " the", "", "", "", " trying", "", "");
    List<String> list3 = Arrays.asList("", "", "", " sentence", " that", " I'm", "", " to", "");

    StringBuilder sentense = new StringBuilder();
    for (int i = 0; i < list1.size(); i++) {
        sentense.append(list1.get(i)).append(list2.get(i)).append(list3.get(i));
    }
    System.out.print(sentense.toString());
List list1=Arrays.asList(“This”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”重建”);
List list2=Arrays.asList(“,”是“,”,“,”,”,“,”尝试“,”,”);
listList3=Arrays.asList(“,”,“,”,“句子”,“那个”,“我是”,“我是”,“我是”,“到”,“我是”);
StringBuilder sentense=新的StringBuilder();
对于(int i=0;i
您可以有如下内容

    List<String> list1 = Arrays.asList("This", "", "", "", "", "", "", "", " reconstruct");
    List<String> list2 = Arrays.asList("", " is", " the", "", "", "", " trying", "", "");
    List<String> list3 = Arrays.asList("", "", "", " sentence", " that", " I'm", "", " to", "");

    StringBuilder sentense = new StringBuilder();
    for (int i = 0; i < list1.size(); i++) {
        sentense.append(list1.get(i)).append(list2.get(i)).append(list3.get(i));
    }
    System.out.print(sentense.toString());
List list1=Arrays.asList(“This”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”重建”);
List list2=Arrays.asList(“,”是“,”,“,”,”,“,”尝试“,”,”);
listList3=Arrays.asList(“,”,“,”,“句子”,“那个”,“我是”,“我是”,“我是”,“到”,“我是”);
StringBuilder sentense=新的StringBuilder();
对于(int i=0;i
假设给定列表的大小相同。您可以使用类似于此的代码

  for(int i =0; i<list1.size();i++){
    if(list1.get(i)==""){

    //replace with sentence from other lists 
        if(list2.get(i)!=""){
           list1.add(i,list2.get(i));
        }
        else if(list3.get(i)!=""){
           list1.add(i,list3.get(i));
        }
    }
  }

for(inti=0;i假设给定的列表具有相同的大小。您可以使用类似的代码

  for(int i =0; i<list1.size();i++){
    if(list1.get(i)==""){

    //replace with sentence from other lists 
        if(list2.get(i)!=""){
           list1.add(i,list2.get(i));
        }
        else if(list3.get(i)!=""){
           list1.add(i,list3.get(i));
        }
    }
  }

for(int i=0;i只有在确保单词的每个位置都是唯一的情况下,以下代码才会起作用:

List<String> list1 = Arrays.asList(This, , , , , , , , reconstruct);
List<String> list2 = Arrays.asList (, is, the, , , , trying, ,);
List<String> list3 = Arrays.asList(, , ,sentence, that, I'm, , to,);

String txt = "";
for (int i = 0; i < list1.size(); i++) {
    txt = txt + list1.get(i) + list2.get(i) + list3.get(i) + " ";
}
System.out.println(txt.trim());
List list1=Arrays.asList(此、、、重构);
List list2=Arrays.asList(,is,the,,trying,);
List list3=Arrays.asList(,句子,that,I'm,to,);
字符串txt=“”;
对于(int i=0;i
如果要创建新列表,请执行以下操作:

List<String> myList = new ArrayList<String>();
String txt = "";
for (int i = 0; i < list1.size(); i++) {
    txt = list1.get(i) + list2.get(i) + list3.get(i);
    myList.add(txt);
}
List myList=new ArrayList();
字符串txt=“”;
对于(int i=0;i
只有在确保单词的每个位置都是唯一的情况下,以下代码才会起作用:

List<String> list1 = Arrays.asList(This, , , , , , , , reconstruct);
List<String> list2 = Arrays.asList (, is, the, , , , trying, ,);
List<String> list3 = Arrays.asList(, , ,sentence, that, I'm, , to,);

String txt = "";
for (int i = 0; i < list1.size(); i++) {
    txt = txt + list1.get(i) + list2.get(i) + list3.get(i) + " ";
}
System.out.println(txt.trim());
List list1=Arrays.asList(此、、、重构);
List list2=Arrays.asList(,is,the,,trying,);
List list3=Arrays.asList(,句子,that,I'm,to,);
字符串txt=“”;
对于(int i=0;i
如果要创建新列表,请执行以下操作:

List<String> myList = new ArrayList<String>();
String txt = "";
for (int i = 0; i < list1.size(); i++) {
    txt = list1.get(i) + list2.get(i) + list3.get(i);
    myList.add(txt);
}
List myList=new ArrayList();
字符串txt=“”;
对于(int i=0;i
您可以试试这个。我希望这能有所帮助

List<String> list1 = Arrays.asList("This", "", "", "", "", "", "", "", "reconstruct");
    List<String> list2 = Arrays.asList ("", "is", "the", "", "", "", "trying", "","");
    List<String> list3 = Arrays.asList("", "", "","sentence", "that", "Im", "", "to","");
    List<String> mergedValue = new ArrayList<>();

    for(int i = 0; i<list1.size();i++){
        if(list1.get(i)!=""){
            mergedValue.add(list1.get(i));
        }
        if(list2.get(i)!=""){
            mergedValue.add(list2.get(i));
        }
        if(list3.get(i)!=""){
            mergedValue.add(list3.get(i));
        }
    }
List list1=Arrays.asList(“This”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”重建”);
List list2=ARRAYST.asList(“,”是“,”,“,”,“,”,“,”尝试“,”,”);
List list3=Arrays.asList(“,”,“,”,“句子”,“that”,“Im”,“,”to“,”);
List mergedValue=new ArrayList();

对于(inti=0;i你可以试试这个。我希望这能有所帮助

List<String> list1 = Arrays.asList("This", "", "", "", "", "", "", "", "reconstruct");
    List<String> list2 = Arrays.asList ("", "is", "the", "", "", "", "trying", "","");
    List<String> list3 = Arrays.asList("", "", "","sentence", "that", "Im", "", "to","");
    List<String> mergedValue = new ArrayList<>();

    for(int i = 0; i<list1.size();i++){
        if(list1.get(i)!=""){
            mergedValue.add(list1.get(i));
        }
        if(list2.get(i)!=""){
            mergedValue.add(list2.get(i));
        }
        if(list3.get(i)!=""){
            mergedValue.add(list3.get(i));
        }
    }
List list1=Arrays.asList(“This”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”重建”);
List list2=ARRAYST.asList(“,”是“,”,“,”,“,”,“,”尝试“,”,”);
List list3=Arrays.asList(“,”,“,”,“句子”,“that”,“Im”,“,”to“,”);
List mergedValue=new ArrayList();

对于(int i=0;i您可以使用列表中的
length=size
创建一个数组,如果
content!=”
您可以使用列表中的
length=size
创建一个数组,如果
content!=”,则可以在特定位置将内容添加到数组中
在每个单词(第一个单词除外)之前添加空格看起来不正确。您可以使用带空格的StringJoiner作为分隔符来避免它。在每个单词(第一个单词除外)之前添加空格看起来不正确。您可以使用带空格的StringJoiner作为分隔符来避免它。