Java 设置Arraylist的Arraylist的值
您好,我想填写我的Arraylist of Arraylist,名为Java 设置Arraylist的Arraylist的值,java,android,arraylist,Java,Android,Arraylist,您好,我想填写我的Arraylist of Arraylist,名为问题列表\u部分 为此,我制作了一个名为QUESTION\u ID\u的临时数组列表,该列表位于\u SectionId\u temp中,添加到QuestionIdList\u Section 我的代码如下,以便您了解我是如何编码的: public static ArrayList<String> QUESTION_ID_Of_SectionId_Temp = new ArrayList<String>(
问题列表\u部分
为此,我制作了一个名为
QUESTION\u ID\u的临时数组列表,该列表位于\u SectionId\u temp
中,添加到QuestionIdList\u Section
我的代码如下,以便您了解我是如何编码的:
public static ArrayList<String> QUESTION_ID_Of_SectionId_Temp = new ArrayList<String>();
public static ArrayList<ArrayList<String>> QuestionIdList_Section = new ArrayList<ArrayList<String>>();
QUESTION_ID_Of_SectionId_Temp.add("Hello");
QUESTION_ID_Of_SectionId_Temp.add("Hiii");
QuestionIdList_Section.add(0,QUESTION_ID_Of_SectionId_Temp);
Log.i(TAG, "******Before " + QuestionIdList_Section);
Log.i(TAG, "******Before "+ QUESTION_ID_Of_SectionId_Temp);
QUESTION_ID_Of_SectionId_Temp.clear();
Log.i(TAG, "******After " + QuestionIdList_Section);
Log.i(TAG, "******After " + QUESTION_ID_Of_SectionId_Temp);
有人能帮我理解我在这里缺少什么吗。我想清除temp arraylist,这样我就可以为UESTION\u ID\u Of_Section ID\u temp
设置不同的值,因此对于QuestionIdList\u Section
的第二个索引,我将设置不同的值
提前感谢。
部分ID的问题ID\u Temp
仅供参考
因此,如果清除它,QuestionIdList\u部分
中的值也将被清除
你应该做的是
QUESTION_ID_Of_SectionId_Temp=new ArrayList()代码>
而不是
SectionId\u Temp.clear()的问题ID\u代码>您正在清除\u section ID\u Temp
数组的问题\u ID\u,这意味着它没有元素。第二次“之后”打印显示为空
第一个“之后”显示问题列表部分的内容
,该部分仍然包含上面的数组列表
,它现在是空的。与问题列表\u节关联的数组列表
包含与\u节ID\u Temp的问题ID\u关联的数组列表
的引用。
因此,在清除临时ArrayList时,它还将反映在问题列表\u部分中的ArrayList上
您可能需要创建临时数组的新实例,并将其添加到主数组列表中,如下所示:
QUESTION_ID_Of_SectionId_Temp = new ArrayList<String>();
QuestionIdList_Section.add(QUESTION_ID_Of_SectionId_Temp);
QUESTION_ID_Of_SectionId_Temp=new ArrayList();
问题列表\u部分。添加(问题\u部分ID\u临时);
执行此操作后,添加到QUESTION\u ID\u Of_Section ID\u Temp
的每个元素都将显示在QuestionIdList\u Section
的第二个索引中。是否清除了QuestionIdList\u部分?使用QUESTION\u ID\u Of_Section ID\u Temp.删除(项)
而不是QUESTION\u ID\u Of_Section ID\u Temp.清除()代码>只需更改问题列表\u部分。添加(0,问题ID\u部分ID\u临时)代码>添加到QuestionIdList\u部分。添加(0,新的ArrayList(questionID\u部分ID\u临时))代码>和您的代码将工作,因为您将需要复制ArrayList,而不是在清理ITI之前传递引用,作为提示,请查看java的命名约定:很好的答案。谢谢你的解释,谢谢!你救了我几个小时。
QUESTION_ID_Of_SectionId_Temp = new ArrayList<String>();
QuestionIdList_Section.add(QUESTION_ID_Of_SectionId_Temp);