【问题标题】:Java: Group arraylist records by derived attributeJava:按派生属性对数组列表记录进行分组
【发布时间】:2015-10-15 02:55:51
【问题描述】:

我有一个从输入 CSV 文件创建的 ArrayList,其中将执行一些计算以生成更多列,然后将这些列打印到另一个 CSV 文件中。在 ArrayList 中,属性之一是 Unix 时间戳。该记录包括大约 7 个不同的日子。我想要做的是按天对记录进行分组,然后如果不按顺序排列,则按时间(细节,即小时、分钟、秒)对组进行排序。因此,从我的输入 CSV 文件中,我使用分隔符提取了 Unix 时间戳,例如1442327884,然后我用这段代码来检索日期

java.util.Date time = new java.util.Date((long) timeStamp * 1000);
// gives a result of Tue Sep 15 22:38:04 SGT 2015
String date = String.valueOf(time.getDate());;
// gives the result of "15"

我用于分组依据的另一种计算方法如下

Map<String, List<String>> groups = data.stream().collect(Collectors.groupingBy(e -> e.split(",")[1]));

如上所述,如何将其设置为 groupBy String date

【问题讨论】:

    标签: java date csv arraylist


    【解决方案1】:

    您可以查看radix sort。这正是您正在寻找的那种排序。

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 2022-01-21
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      相关资源
      最近更新 更多