1

オブジェクトで構成される ArrayList をソートする必要があります。オブジェクト: ID、数量。ArrayList は ID でソートする必要があります。これを実装する方法は?

ItemIdQuantity = new ItemIdQuantity (ID, Quantity);

ItemIdQuantity.Sort(); // where must be sorting by ID
4

2 に答える 2

2
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());
于 2009-08-25T11:42:33.247 に答える
1

これが Java であると仮定すると、次のようになります。

  • ItemIdQuantityクラスComparableが ID フィールドに基づいて実装する場合はCollections.sort()、リストを単一のパラメーターとして使用します。
  • Comparatorそれ以外の場合は、ID を使用してオブジェクトを比較する を実装し、それを の 2 番目のパラメータとして使用しCollections.sort()ます。
于 2009-08-25T11:43:56.720 に答える