我从数据库中获取List对象形式的数据列表,其中包含数据
field_id value dt_updated
1 3 jun-6
2 5 jun-5
1 2 jun-3
3 5 jun-3
我希望迭代这个列表并按照旧的和新的值对字段进行分组。例如:我想创建一个类似的json:
"field_1":
[
oldvalue"2"
new value:"3"
],
field_2 :
[ oldvalue:"5"],
我想迭代列表并获取该字段的旧值和新值并放入一些对象。如何执行此操作?在某些情况下,字段只有旧值。
答案 0 :(得分:1)
我不知道数据库中的条目是否按dt_update排序,但我认为不能保证。
只需将您的条目从数据库放到Map(id->DBUpdate)
,其中DBUpdate
是一些带有value
和updateDate
字段的简单值对象到一些MultiMap中(例如在Google Guava库中可用) 。通过updateDate
(简单地通过在Comparable
中实现DBUpdate
接口)迭代来自数据库排序元素的所有对象(仅通过在{{1}}中实现{{1}}接口)并构造适当的String(如果给定id中只有一个值) MultiMap只有oldValue,否则将第一个元素用作新值,将MultiMap中的第二个元素用作oldValue)