我正在实现一个负责订购java.util.List的Java类。当我使用此类时,问题就来了。我可以订购列表,但我想复制“原始”列表而不作任何修改,这样我就可以在原始列表上注册所有更改。排序的列表包含对象,并且其字段之一存储分类ID,并使用列表的索引值更新此ID。
我尝试使用克隆方法,它使列表保持未排序状态,但原始列表上所做的更改也会在克隆列表中更新。
有什么办法可以做到?
我的代码:
List listaTorero = tbTlgTorerolHome.findByExample(new Torero());
List listaToreroTemp = ((List) ((ArrayList) listaTorero).clone());
Clasificacion clasificacion = new Clasificacion();
Iterator iterTorero = clasificacion.getClasificacion(listaTorero, torero).iterator(); //Sorting List
分类法:
public List getClasificacion(List listaToreroTemp, Torero torero)
{
List listaTorero = new ArrayList();
Collections.sort(listaToreroTemp,new ToreroClasifiacionComparator());
Iterator iterTorero = listaToreroTemp.iterator();
int index=1;
while(iterTorero.hasNext())
{
Torero toreroTemp = iterTorero.next();
toreroTemp.setNumClasificacion(index);
listaTorero.add(toreroTemp);
index=index+1;
}
return listaTorero;
}