迭代列表并排列数据

时间:2012-08-20 10:29:29

标签: java json list hashmap

我从数据库中获取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"],

我想迭代列表并获取该字段的旧值和新值并放入一些对象。如何执行此操作?在某些情况下,字段只有旧值。

1 个答案:

答案 0 :(得分:1)

我不知道数据库中的条目是否按dt_update排序,但我认为不能保证。

只需将您的条目从数据库放到Map(id->DBUpdate),其中DBUpdate是一些带有valueupdateDate字段的简单值对象到一些MultiMap中(例如在Google Guava库中可用) 。通过updateDate(简单地通过在Comparable中实现DBUpdate接口)迭代来自数据库排序元素的所有对象(仅通过在{{1}}中实现{{1}}接口)并构造适当的String(如果给定id中只有一个值) MultiMap只有oldValue,否则将第一个元素用作新值,将MultiMap中的第二个元素用作oldValue)