我得到一些問題,讓這項工作以及我的方面:Java的ArrayList的併發修改
for(Iterator<Object> i = mylist.iterator(); i.hasNext();) {
Object obj = i.next();
ArrayList<Object> newlist = new ArrayList<Object>();
newlist.add(obj);
i.remove();
for(Iterator<Object> in = mylist.iterator(); in.hasNext();) {
Object next = in.next();
if (obj != next && (another condition)) {
newlist.add(next);
in.remove();
}
}
if (newlist.size() > 2) anotheList.add(newlist);
else for(Object r : newlist) {
//mylist get back object:
mylist.add(r);
}
}
我試圖得到一個優雅的方式來做到這一點,而不復制MYLIST越來越多的時間.. 。
你能解釋一下你正在做什麼,以及爲什麼這段代碼沒有做你想做的事情? – unholysampler
這看起來很糟糕...你想做什麼?我無法確定,但似乎你正試圖從現有列表中的一些元素中創建一個新列表,但這似乎是一個可怕的方式來做到這一點。你能更詳細地描述你想完成什麼嗎? – Lucas
我知道,我已經簡化了我的代碼,讓它更具可讀性......我需要做的是從一個大列表中做出一些列表,只保留丟棄的對象。其他完成先決條件的列表將分隔存儲在另一個對象中。同時大列表已採取新對象來檢查此功能 – Achilleterzo