1

我有两个集合,其中包含从数据库中检索的键值对方面的数据。

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

我想根据关键日期比较这两个集合,如果它们相等,则将其他列表附加到第一个列表。

可以说两个集合上的键名不同。例子 -

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

输入示例- 请注意,两个数据的数据格式不同,我将修剪数据并进行比较。

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 数据 - {delivary_id =1,user_id=1,delivery_created=2013-02-10 06:33:08.0,delivery_metadata='test user2 NE'} {delivary_id =2,user_id=2,delivery_created = 2013-12-10 06 :33:08.0,delivery_metadata='test user2 NE'} {delivary_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