0
定期的にクリアされたオブジェクトのJavaリストがデータベースから更新されたバージョンで再ロードされています。リロードする前に、ユーザは特定の方法でリストを注文することを選択しているかもしれない。前のリストの順番を新しいリストに適用するアルゴリズムを見つける必要があります。配列の順番を新しい配列にコピー
オブジェクトが実質的にランダムな順序である可能性があるため、コンパレータは使用できません。事前に
public static List<RetrievedPage> copyPreviousListOrderToFreshList(List<RetrievedPage> previousCopyOfList, List<RetrievedPage> freshCopyOfList)
{
for (RetrievedPage retrievedPage : previousCopyOfList)
{
//reordering, but how?
}
return freshCopyOfList;
}
おかげで、 バリー
ありがとうMalcolm - JUnitの緑色の線が表示されます。 Comparatorの経験はあまりないので、どのように動作しているのか少し考えなければならないでしょう! – barry
私はそれを得ると思います。新鮮なリストのオブジェクトが新しいオブジェクトだったので、私はちょっと混乱しました。だから、以前のリストでどのようにindexOfを見つけることができますか?しかし、呼び出しのインデックスはRetrievedPageでオーバーライドされたequals()です。 – barry
はい、正しい: 'indexOf()'メソッドは、同じオブジェクトを探すのではなく、類似のオブジェクトを探す方法を知るために 'equals()'をオーバーライドする必要があります。私はおそらく答えでそれを言ったはずです、私はこの情報を追加します。 – Malcolm