【发布时间】:2019-04-22 18:02:41
【问题描述】:
有点卡住,任何输入将不胜感激。
纲要:
我有一个字符串数组列表。
我有一个遍历所述 ArrayList 的 for 循环。
当循环开始时,它会创建一个 ArrayList(我们称之为 list1)。
如果不满足字符串条件(.match 为假),则它将当前元素放入先前创建的 ArrayList 中。 (list1)
如果当前元素中满足字符串条件(.match 为真),它会创建一个新的 ArrayList。 (我们称之为 list2)
如果下一个字符串不符合条件(.match 为真),它将将该元素放入先前创建的 ArrayList (list2)
如果条件不满足,这将继续循环创建 ArrayList,如果条件满足,则将元素放入先前创建的 ArrayList。它会一直执行此操作,直到 for 循环结束。
备注:
新创建的 ArrayList 将保存基于当前字符串元素的对象,为了解释它的简单性,我省略了该部分。
因为我从来没有动态创建过 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
}
【问题讨论】:
-
听起来你想要一个 ArrayList
> 来添加你的新 ArrayLists。 -
for 循环前:
ArrayList<Question> currentArrayList = new ArrayList<Question>();for 循环内:if(..match..) {currentArrayList = new ArrayList<Question>();} else {currentArrayList.add(...);} -
只花了大约 30 分钟打字,请不要告诉我这很简单。谢谢你
标签: java arrays object arraylist