如果我有這樣的:Android的列表(ArrayList中,列表等)中的addAll()與重新定義的參考
ArrayList<Data> mList = new ArrayList();
...
public void setList(ArrayList<Data> list) {
mList = list;
}
public void updateList(ArrayList<Data> list) {
mList.clear();
mList.addAll(list);
}
哪個更有效,setList()
或updateList()
,爲什麼?最佳做法是什麼?
編輯:
不要與this問題相混淆。
這是用於RecyclerView嗎?如果是,updateList更適合。 –
如果「有效」是指「更快」,那麼'setList'更快,因爲'updateList'是O(N) – khelwood
還有第三個選項可以避免'清除'而不泄漏你的列表:'mList = new ArrayList <>(list);' – shmosel