[英]Merging several Arraylists <String> into one
好的,所以我想以某種方式合並這些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.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());
假設給定列表的大小相同。 您可以使用與此類似的代碼。
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));
}
}
}
以下代碼僅在您確定單詞的每個位置都是唯一的情況下才有效:
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<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<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));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.