У меня есть два ArrayList
х String
типа и хочу смешать их следующим образом:Объединение два ArrayLists типа строки в Java
SPK = [A,A,A,B,A,A,A,A,A,B]
и
DA= [ofm,sd,sd,sd,sd,sd,sd,sd,sd,sv]
Мне нужно создать некоторые String
в других ArrayList
, как показано ниже:
SPK_DA = [ofmAsdAsdAB, sdBA, sdAsdAsdAsdAsdAB]
в этом наборе Мне нужно сопоставить предыдущие аналогичные элементы, прежде чем поворачивать (от A до B) в массиве SPK.
Я написал программу, но добавляет один дополнительный sdA (я не знаю, почему я не могу сделать такую простую вещь).
for (int i=0; i <SPK.size()-1; i++){
if (SPK.get(i)==SPK.get(i+1) && (i+1)<= SPK.size()){
speakerChain = DA.get(i)+SPK.get(i);
speakerChain1=DA.get(i+1)+SPK.get(i+1);
SPKTrace.add(speakerChain);
SPKTrace.add(speakerChain1);
}else if (SPK.get(i)!=SPK.get(i+1)){
if (SPKTrace.size()!=0){
SPKTrace.add(SPK.get(i+1));
//SPKString = removeDuplicates (SPKTrace);
String S1 = arrayTostring(SPKTrace);
SPKResource.add(S1);
SPKTrace.clear();
}else {
SPKTrace.add(DA.get(i)+SPK.get(i)+SPK.get(i+1));
//SPKString = removeDuplicates (SPKTrace);
String S1 = arrayTostring(SPKTrace);
SPKResource.add(S1);
SPKTrace.clear();
}
}
}
}
}
System.out.println(SPKResource.toString());
My Output: [ofmAsdAsdAsdAB, sdBA, sdAsdAsdAsdAsdAsdAsdAsdAB]
Когда я использую для цикла это происходит, что он создает больше СОУ ....
Я не уверен, что вы подразумеваете под sdA ... –
@LanguidSquid SPK - это динамики и DA - диалоговые действия для каждого высказывания; и sd показывает, что диалог действует так, как говорил выступающий A. – user3147590
Я бы предложил разместить хорошо отформатированный компилируемый код. Гораздо легче понять вашу проблему, если ваш код легко читается, и если можно легко воспроизвести проблему локально. И, честно говоря, я с трудом выясняю, как вы создаете SPK_A из этих двух массивов. – Fox