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