此代碼根據來自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