此代码是根据真实性的建议编辑的。
我很难为这个标题想出一个好的标题——如果你有更好的主意,请随时更改它。
我正在创建一个二维 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 用户引用,当我使用 clear() 时,我也丢失了 2D ArrayList 中的值。
如何每次都获得一个新的 ArrayList,这样当我填满 2D ArrayList 时,我就不会复制 1D ArrayList 的内容?
我感谢任何帮助,D