我正在实现一个负责排序java.util.List的Java类.当我使用这个课时,问题出现了.我能够订购列表,但我想复制"原始"列表而不进行修改,以便我可以注册原始列表中的每个更改.排序列表包含对象,其中一个字段存储分类标识,此标识使用列表的索引值进行更新.
我尝试使用克隆方法,它保持列表未排序,但在原始列表上所做的更改也在克隆列表中更新.
有没有办法实现它?
我的代码:
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
Run Code Online (Sandbox Code Playgroud)
Clasificacion方法:
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;
}
Run Code Online (Sandbox Code Playgroud)