此代码根据来自trutheality的建议进行了编辑。ArrayList的问题<ArrayList <String>>
我很难提出一个好的标题 - 如果你有一个更好的主意,请随时改变它。
我正在创建一个二维ArrayList。为此,我填写一个ArrayList<String>
,然后将其添加到ArrayList<ArrayList<String>>
。我在一个循环内部做了这个,我希望每次都能得到新的ArrayList<String>
。这不会发生,所以ArrayList<ArrayList<String>>
得到充满积累ArrayList<String>
,因为每次我填满ArrayList<String>
它只是增加了它已有的东西。
ArrayList<String> oneD = new ArrayList<String>();
ArrayList<ArrayList<String>> twoD= new ArrayList<ArrayList<String>>();
Cursor tSCursor = retrieveTS(tId);
tSCursor.moveToFirst();
for (int i = 0; i < tSCursor.getCount(); i++)
{
stockId = tSCursor.getString(tSCursor.getColumnIndex("_id"));
oneD.add(sId);
oneD.addAll(retrieveSFinParams(sId));
twoD.add(sFinParams);
tSCursor.moveToNext();
}
我试过sFinParams.clear(),但作为容器的Java用户参考,当我使用清除()我也失去在2D ArrayList中的值。
我怎样才能得到一个新的ArrayList每次所以当我充满二维ArrayList我不重复的一维ArrayList的内容?
我感谢所有帮助, d
当你的ArrayLists的ArrayList,它意味着你缺乏一个类。 OOP代码避免了这些问题。 –
你有投票吗?我不会说这是一个糟糕的问题,只是误导...... – Tharwen
你的代码有点难以理解(例如,什么是sFinParams?你在哪里使用你的ArrayLists?)。你能举出一个你想要实现的更简单的例子吗? – Hedja