Немного застрял, и любой вклад будет высоко ценится.
Краткое описание:
У меня есть ArrayList строк.
У меня есть цикл for, повторяющий указанный ArrayList.
Когда цикл начинается, он создает ArrayList (назовем его list1).
Если строковые критерии не выполнены (.match имеет значение false), тогда текущий элемент помещается в ранее созданный ArrayList. (Песни1)
Если в текущем элементе удовлетворяются строковые критерии (.match имеет значение true), создается новый ArrayList. (Давайте назовем это list2)
Если следующая строка не соответствует критериям (.match имеет значение true), она поместит этот элемент в ранее созданный ArrayList (list2)
Это продолжает цикл создания ArrayList, если критерии не выполнены, и помещает элемент в ранее созданный ArrayList, если критерии выполнены. Это происходит до тех пор, пока цикл for не закончится.
Примечания:
Вновь созданные ArrayLists будут содержать объекты, основанные на текущем строковом элементе, для простоты попыток объяснить это я пропустил эту часть.
Поскольку я никогда не создавал динамически ArrayLists, я заблудился, как это сделать. Имейте в виду, я не просто спрашиваю, как динамически создать ArrayList, потому что я знаю, что на этот вопрос здесь уже дан ответ.
Пожалуйста, спросите, нужна ли вам какая-либо часть этого разъясненного, у меня есть мышление программиста, где это имеет смысл в моей голове, но это трудно объяснить с точки зрения непрофессионала.
Пример общего кода:
for(int i=0; i<fileList.size(); i++) {
ArrayList <question> list1= new ArrayList <question> ();
if(fileList.get(i).matches("^[|]+[|]+[|]+[1-9]+")) {
ArrayList <question> listN= new ArrayList <question> ();
}
else
currentArray.add(fileList.get(i)); //CurrentArray is what ever the last created ArrayList is
}