Javaで異なるクラスのオブジェクトを並べ替える方法
学习ing
学习ing 2017-06-14 10:52:58
0
3
869

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

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

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

学习ing
学习ing

全員に返信(3)
Peter_Zhu

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

いいねを押す +0
学霸

リーリー

いいねを押す +0
typecho
  1. 基本クラスを作成し、AとBがそれを拡張します

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

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート