java.util.Listの順序付けを行うJavaクラスを実装しています。このクラスを使用すると問題が発生します。私はリストを注文することができますが、オリジナルのリストを変更せずにコピーして、元のリストに加えられたすべての変更を登録することができます。ソートされたリストにはオブジェクトが含まれ、そのフィールドの1つに分類IDが格納され、このIDはリストのインデックス値で更新されます。java.util.listコレクションのコピー方法
私はクローンメソッドを使用しようとしましたが、リストはソートされませんが、元のリストの変更はクローンリストでも更新されます。
これを達成する方法はありますか?
マイコード:
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
A 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;
}
あなたが行っていることを確認できるようにコードを投稿してください –
おそらく関連しています:[java.util.list Collectionをコピーする方法](http://stackoverflow.com/questions/10457087/how-to-copy-java -util-list-collection) –
質問を編集してコードを追加しました。 – user1260893