Используя список строк, я пытаюсь сопоставить строку в листе excel и добавлять элементы ячейки во внутренний список. Добавление внутреннего списка во внешний список с помощью цикла. Пожалуйста, обратитесь кодом нижеНевозможно добавить списки в список, используя java
public static List<ArrayList<String>> getKeywords(List<String> testCaseIdList, String fileName, String sheetName){
try {
ArrayList<String> listTestSteps = new ArrayList<String>();
List<ArrayList<String>> listTestCases = new ArrayList<ArrayList<String>>(0);
Sheet sheetKW = ReadExcelFile.readExcel(ST_KEYWORDS);
String columnValue = null;
int matchFlag, addListFlag = 0;
for(String testCaseId : testCaseIdList) {
Iterator<Row> rowIterator = sheetKW.rowIterator();
listTestSteps.clear();
while(rowIterator.hasNext()) {
Row rowNext = (Row) rowIterator.next();
Iterator<Cell> cellIterator = rowNext.cellIterator();
matchFlag = 0;
addListFlag = 0;
//listTestSteps.clear();
while(cellIterator.hasNext()) {
Cell nextCell = cellIterator.next();
columnValue = nextCell.getStringCellValue();
//System.out.println("Column value " +columnValue);
if((columnValue.equalsIgnoreCase(testCaseId)) && (columnValue != "")) {
matchFlag = 1;
}
if(matchFlag == 1 && columnValue != "") {
listTestSteps.add(columnValue);
addListFlag = 1;
System.out.println("Add Value : "+columnValue);
}
}
if((listTestSteps.isEmpty() == false) && (addListFlag == 1)) {
System.out.println("Adding to the Main list");
listTestCases.add(listTestSteps);
//listTestCases.forEach(System.out::println);
}
}
}
//listTestSteps.forEach(System.out::println);
// Return ArrayList of ArrayLists
return listTestCases;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
я получаю выход в
[TC_0003, login, createUser, deleteUser]
[TC_0003, login, createUser, deleteUser]
Во-первых добавлен список listTestSteps
становится заменен последним список итераций.
Ожидаемый результат: [[TC_0002, login, createUser, deleteUser, newUser], [TC_0003, login, createUser, deleteUser]]
Что-то не так точно. Любая помощь будет оценена.
какой шаг точно терпит неудачу? – XtremeBaumer
Это не терпит неудачу. Я, но список 'listTestCases' заменяется последними' listTestSteps'. Вместо добавления вместо замены. – avirup
Значения, которые вы читаете и печатаете, являются правильными значениями? – XtremeBaumer