ホームページ  >  に質問  >  本文

Javaで異なるクラスのオブジェクトを並べ替える方法

2 つのクラス A と B に共通の日付属性があるとします。2 つの List<A> と List<B> を日付に従って並べ替えたいと思います。最適な方法は何ですか?

私が知っている方法は、基本クラスを作成し、A と B がこの基本クラスを継承し、Collections.sort() を呼び出して並べ替えることです。

もっと良い方法、またはリフレクションを使用して同様のメソッドを記述する方法はありますか? または、使用できる既製のライブラリはありますか?

学习ing学习ing2707日前831

全員に返信(3)返信します

  • 天蓬老师

    天蓬老师2017-06-14 10:54:58

    上記の方法を使用する方が良い方法です。 1. Java 自体が提供する API を使用して、コードの量を減らすことができます。 2. コードのスタイルの点でも、上記の方法は非常に優れています。
    別のアイデアは、各クラス A と B の日付を抽出し、それを A と B のオブジェクト自体に関連付けることです。たとえば、Index には日付とクラス A と B のオブジェクトへの参照という 2 つの属性があります。 id を使用して、A および B の各クラス オブジェクトが Index オブジェクトに関連付けられます。その後、Index オブジェクトが並べ替えられ、A または B に対応するオブジェクトが、インデックス オブジェクトと同じ順序で ID を介して検索されます。並べ替えました。

    返事
    0
  • 欧阳克

    欧阳克2017-06-14 10:54:58

    リーリー

    返事
    0
  • typecho

    typecho2017-06-14 10:54:58

    1. 基本クラスを作成し、AとBがそれを拡張します

    2. インターフェースを作成し、AとBを実装します

    3. リスト<オブジェクト>を作成してから、コンパレータで型を強制する必要があります

    4. Wrapperクラスを取得し、AとBをラップしてListに入れて並べ替えます

    返事
    0
  • キャンセル返事