【问题标题】:Group a list weekly to a new list and sum one of its field? [closed]每周将一个列表分组到一个新列表并总结其中一个字段? [关闭]
【发布时间】:2012-06-09 17:38:38
【问题描述】:

我有两个实体:

class Entry {
   long amount;
   long date; //date is stored in millis
   long id;
   //getter and setters
}

class GroupedEntryByWeek {
   long amount;
   long startDate; // start date of week
   long endDate; // end date of week
   long id;
}

现在我想“List<Entry> entries”生成新列表“List<GroupedEntryByWeek> groupedEntries

我想创建一个函数:

public List<GroupedEntryByWeek> groupEntries(List<Entry> entries) {
   List<GroupedEntryByWeek> groupedEntries;
   // code for grouping         

   return groupedEntries;
}

这将返回一个分组列表

Ungrouped list :

id        amount       date
1          500         9th june in millies 
2          600         8th june in millies
3          700         1st june in millies

分组列表应该是这样的:

    id        amount       startdate   enddate 
    1          700         28May       3June
    2          1100        4june       9june

【问题讨论】:

  • 你的问题是?你试过什么?
  • startdate 是一周的开始日期,enddate 是一周的结束日期

标签: java


【解决方案1】:

如果我正确理解了您需要在 Entry 类中创建 List&lt;GroupedEntryByWeek&gt; 的实例的问题。

像这样:

class Entry {
   long amount;
   long date; //date is stored in millis
   long id;

   List<GroupedEntryByWeek> groupedEntries;

   //getter and setters
}

然后,当您迭代槽条目列表时,您会从每个条目中获得分组条目:

for (Entry entry : entries) {
   List<GroupedEntryByWeek> groupedEntries = entry.getGroupedEntries();
}

【讨论】:

  • 不,我想创建一个函数 public List groupEntries(List entries) 它将返回按周分组的列表
  • 所以不要正确解释你的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
  • 2022-10-08
相关资源
最近更新 更多