我得到一些问题,让这项工作以及我的方面: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