【发布时间】:2015-12-04 12:15:18
【问题描述】:
在 Java 类中,我有一个按日期重新排序现有 HashMap 的方法。 HashMap 的类型为<String, Object>,其中 Object 包含一个名为 expPayDate 的字段,而键字符串是一个序列号,变成了一个字符串。所以我需要遍历 sourceMap 中的项目并找到具有最新日期的项目然后以正确的顺序将其复制到 tempMap 中。我的问题是确定具有最新日期的项目的最佳方法是什么。
【问题讨论】:
-
HashMaps 没有顺序
-
你的泛型类型真的是
Object还是我们可以假设它是MyClass之类的东西?我在问,因为Object在它的接口方法中没有允许我们获取expPayDate,而MyClass可能包含类似getExpPayDate()的东西。 -
坚持使用非 Java 8 解决方案,因为我们还不能使用 Java 6 以外的任何东西。将您的 Map 重新定义为 TreeMap 或使用 Comparator 对我来说最有意义。如果您有一个列表形式的项目集合,我想知道 List 是否会更好地满足您的需求。根据您要执行的操作,您可能希望查看 each of the Java Collections do for you 的内容。关于将 Comparator 与 List 结合使用,I blogged about that in January.
标签: java sorting hashmap xpages