gpt4 book ai didi

java - 如何对按日期和时间键入的 map 数据进行排序并按日期和/或一天中的小时进行汇总?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:19:30 26 4
gpt4 key购买 nike

假设我有一个整数数据映射,其中的键是日期和时间,格式如下:

May 15, 2015 5:46 PM

例如我有:

May 15, 2015 5:46 PM, 25
May 15, 2015 5:50 PM, 25
May 15, 2015 6:15 PM, 30
May 15, 2015 8:05 PM, 40
May 15, 2015 10:46 PM, 10
May 15, 2015 5:10 AM, 5

有没有办法按小时对这些数据进行排序?所以我可以有类似的东西:

5PM, 55
6PM, 30
8PM, 40
10PM, 10

日期也一样吗?

最佳答案

Map<String, Integer> originalMap = ... // the map you mentioned
Map<String, Integer> aggregationMap = new HashMap<String, Integer>();
DateFormat sdf = new SimpleDateFormat("MMM dd, yyyy hh:mm a", Locale.US);

// change "ha" to "yyyyMMdd" if you wanna do aggregation by date
DateFormat sdf2 = new SimpleDateFormat("ha", Locale.US);
Iterator<String> it = originalMap.keySet().iterator();
while (it.hasNext()) {
String k = it.next();
int v = originalMap.get(k);
String key = sdf2.format(sdf.parse(k));
Integer value = aggregationMap.get(key);
if (value == null) {
aggregationMap.put(key, v);
} else {
aggregationMap.put(key, v + value);
}
}

// TODO dump aggregationMap to see the result

关于java - 如何对按日期和时间键入的 map 数据进行排序并按日期和/或一天中的小时进行汇总?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com