1

データベースから取得したキーと値のペアに関するデータを持つ 2 つのコレクションがあります。

Collection<Map<String, Comparable>> user1 = function.call(.....);
Collection<Map<String, Comparable>> user2 = function2.call(....)

キー日付に基づいてこれら 2 つのコレクションを比較したいのですが、それらが等しい場合は、他のリストを最初のリストに追加します。

両方のコレクションのキー名が異なるとしましょう。例 -

user1 - {price_id, user_id, price_created}
user2 - {delivary_id, user_id, delivery_created, delivery_metadata}

入力例- 2 つのデータのデータ形式が異なることに注意してください。データをトリミングして比較します。

user1 データ - {price_id=1, user_id=1, price_created=2013-02-10 } {price_id=2, user_id=2, price_created=2013-02-11 } {price_id=3, user_id=3, price_created=2013- 12-12 }

user2 データ - {delivery_id =1、user_id=1、delivery_created=2013-02-10 06:33:08.0、delivery_metadata='test user2 NE'} {delivery_id =2、user_id=2、delivery_created = 2013-12-10 06 :33:08.0、delivery_metadata='test user2 NE'} {delivery_id =3、user_id =3、delivery_created=2013-12-12 06:33:08.0、delivery_metadata='test user2 NE'}

予想される出力例 - 内部結合のようなもの (1 行目と 3 行目は price_created と delivery_created で比較されています)。

{price_id=1, user_id=1, price_created=2013-02-10, delivary_id =1, user_id=1, delivery_created=2013-02-10 06:33:08.0, delivery_metadata='test user2 NE' }

{price_id=3, user_id=3, price_created=2013-12-12, delivary_id =3, user_id =3, delivery_created=2013-12-12 06:33:08.0, delivery_metadata='test user2 NE' }

price_created最初の user1 とdelivery_createduser2を比較したい場合、どうすればそれを実行できますか? コレクションで addAll を使用しようとしましたが、比較するパラメーターを渡すことができませんでした。

ヘルプと正しい方向性に感謝します。このような問題を解決したことはありません。これは、SQL が強力な結合、集計ツールと共に導入された理由を思い起こさせます。私のメンターは SQL を使いたくないので、Java で行き詰っています。

おかげさまで自力でクリアしました!

4

0 に答える 0