gpt4 book ai didi

Java map : Reverse chronological order

转载 作者:行者123 更新时间:2023-12-02 08:08:44 26 4
gpt4 key购买 nike

我有以下函数,它应该返回日期到长整型的映射,以便您以相反的时间顺序迭代条目。

counts 是一个 LinkedHashMap,因此条目按照插入的顺序存储(在本例中是按时间顺序排列的):

public Map<Date, Long> getCountsChronological() {
Map<Date, Long> chronologicalMap =
new TreeMap<Date, Long>(Collections.reverseOrder());
chronologicalMap.putAll(counts);
return chronologicalMap;
}

这个函数不起作用,尽管理论上它应该起作用。当我迭代它返回的 map 时,我仍然按时间顺序获取条目。

最佳答案

无法重现 - 对我来说效果很好:

import java.util.*;

public class Test {

public static void main(String[] args) {
Map<Date, Long> map = new HashMap<Date, Long>();

map.put(new Date(100), 100L);
map.put(new Date(400), 400L);
map.put(new Date(300), 300L);
map.put(new Date(200), 200L);

map = reverseChronological(map);
for (Map.Entry<Date, Long> entry : map.entrySet()) {
System.out.println(entry.getKey().getTime());
}
}

public static Map<Date, Long> reverseChronological(Map<Date, Long> input) {
Map<Date, Long> chronologicalMap =
new TreeMap<Date, Long>(Collections.reverseOrder());
chronologicalMap.putAll(input);
return chronologicalMap;
}
}

您确定您不是在迭代原始 map 而不是返回的 map 吗?

关于Java map : Reverse chronological order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7774438/

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