オブジェクトで構成される ArrayList をソートする必要があります。オブジェクト: ID、数量。ArrayList は ID でソートする必要があります。これを実装する方法は?
ItemIdQuantity = new ItemIdQuantity (ID, Quantity);
ItemIdQuantity.Sort(); // where must be sorting by ID
public class IdComparer : IComparer {
int IComparer.Compare(object x, object y) {
return Compare((ItemIdQuantity)x, (ItemIdQuantity)y);
}
public int Compare(ItemIdQuantity x, ItemIdQuantity y) {
return x.ID - y.ID;
}
}
arrayList.Sort(new IdComparer());
これが Java であると仮定すると、次のようになります。
ItemIdQuantity
クラスComparable
が ID フィールドに基づいて実装する場合はCollections.sort()
、リストを単一のパラメーターとして使用します。Comparator
それ以外の場合は、ID を使用してオブジェクトを比較する を実装し、それを の 2 番目のパラメータとして使用しCollections.sort()
ます。