按日期对 HashMap 进行排序

2023-12-26

在 Java 类中,我有一个按日期重新排序现有 HashMap 的方法。 HashMap 是一种类型<String, Object>其中对象包含一个名为 expPayDate 的字段,键字符串是一个转换为字符串的序列号。所以我需要循环遍历 sourceMap 中的项目并找到具有最新日期的项目,然后将其复制到正确的 tempMap 中命令。我的问题是确定具有最新日期的项目的最佳方法是什么。


你最好的选择是使用排序映射 http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html比较器 http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html界面。

这是一个例子:

public SortedMap<String, Object> getSortedMap(Map<String, Object> originalMap) {
    SortedMap<String, Object> tmpMap = new TreeMap<String, Object>(new Comparator<String>(){
        @Override
        public int compare(String key1, String key2) {
            //logic for comparing dates
        }           
    });
    tmpMap.putAll(originalMap);
    return tmpMap;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按日期对 HashMap 进行排序 的相关文章

随机推荐

  • python distutils 不包含 SWIG 生成的模块

    我正在使用 distutils 从我的项目创建 rpm 我有这个目录树 project my module data file dat my module1 py my module2 py src header1 h header2 h
  • 如何使用 PHP 创建 Odata 服务?

    我使用的是 Kendo UI 在这个框架中我们可以使用 ODATA JSON P JSON 读取数据 我们使用 json encode 成功开发了 JSON P 和 PHP 中的 JSON 数据 但我们无法使用 PHP 创建 ODATA 我
  • 在一个字中间隔位的快速方法是什么?

    我在64位寄存器的低位有一个32位值 顶部部分是 0 出租X表示一个带有信息的位 并且位从 LSB 到 MSB 列出 如下所示 X X X X 0 0 0 0 0 现在 我想用信息 间隔 这些位 这样我就有了 X 0 X 0 X 0 X 0
  • Npm 工作区 - 从根包调用工作区脚本

    我正在努力处理根 git 存储库中的多个 npm 包 并使用自定义开发脚本来处理启动 编译 构建等 现在我遇到了 npm 工作区 并想在我的以下项目结构中使用这个令人惊叹的新功能 但我无法让它工作 projectx root package
  • Delphi 中 TSomething 的默认参数值

    我想知道这在德尔福中是否可行 或者是否有一种干净的方法可以解决它 type TSomething record X Y Integer end GetSomething x y gt 返回具有这些值的记录 然后你就可以使用这个功能TSome
  • 使用 Java 三元运算符时的奇怪行为

    当我像这样编写java代码时 Map
  • 无法读取未定义的属性“NullLogger”(角度/cli 1.4.7)

    今天 突然我开始收到此错误 无法读取未定义的属性 NullLogger 在尝试在我的 Angular 4 应用程序中添加组件 ng g c abc 时 当我在谷歌上搜索时 人们建议我们需要将 cli 版本更新到 1 4 10 但问题是为什么
  • Android MapView - 设置自动缩放,直到所有 ItemizedOverlay 都可见

    在 onCreate 中硬编码 setZoom 感觉非常过时 我想通过最初让 MapView 设置缩放直到所有 GeoPoints OverlayItems 在地图上可见来增强用户体验 这怎么能自动神奇地完成呢 有点像这样 int minL
  • 是否可以从数据帧转换为矩阵?

    我是Python新手 我有一个巨大的dataframe Person OD A BS1 A BS2 B BS4 B BS8 C BS5 C BS1 D BS9 D BS7 E BS2 E BS7 F BS2 F BS1 G BS1 G BS
  • 如何大声朗读Python列表推导式?

    我的问题是关于Python的列表理解可读性 当我遇到具有复杂 嵌套列表理解的代码时 我发现我必须重新阅读它们几次才能理解其意图 有没有一种直观的方法来朗读列表推导式 看来我应该从中间开始 读 然后读if条件 如果有 并阅读表达 last 以
  • 以 bed 格式从 R 导出文件

    我有一个像这样的数据框 tab gt elements scaffold start end Lengths 1 Dong 1 NVe R4 Nematostella12 1 KQ415659 1 14193 14540 347 2 OK
  • 什么是位置提供商“被动”?在搭载 Android 2.2 的 HTC Desire 上看到

    在进入基于位置的模式之前 我通过调用检查是否存在任何位置提供商 List
  • 如何设置JVM的PATH环境变量

    我正在尝试运行使用 Java 7 ProcessBuilder 安装在我的系统上的可执行文件 我注意到环境变量 PATH 可以通过 System getenv PATH 不包括我自己的自定义设置路径 它返回这个 usr bin bin us
  • Excel表格行列查找

    我在使用某些 Excel 函数时遇到了困难 我有一个带有行标题和列标题以及数据的表 例如 如果我有一种披萨 与其尺寸交叉 数据就是价格 S M L XL Cheese 6 6 5 8 10 Pepperoni 6 5 7 5 10 12 S
  • 使用 argparse 输出来调用函数

    目前我的代码如下所示 它允许我解析我的程序脚本获取的多个参数 有没有更接近 最佳实践 的不同方法 我还没有看到实际使用输出的代码argparse 仅介绍如何设置 def useArguments x 0 while x lt 5 if x
  • Angular 6 - 如何在组件级别应用外部 CSS 样式表(传单)?

    尝试在 Angular 6 组件中使用 Leaflet 根据 css 文件的链接方式 地图显示正常或混乱 缺少的图块顺序不正确 这意味着未考虑 css 我设法让它与 2 个解决方案一起使用 将 css 链接到应用程序级别 全局 但不仅仅链接
  • 您可以在动态计时器上触发 AWS Lambda 吗?

    有没有办法在动态计时器上触发 AWS Lambda 目前 我正在利用预定事件来触发 lambda 但这是一个设定的计时器 有没有办法动态设置从 Lambda 内部触发 Lambda 的时间 这里的想法是 这个 Lambda 执行特定的检查并
  • Rails、yml 和多行

    我一生都无法从我的语言环境文件中获取多行 yaml 来工作 我尝试了多种解决方案的每种组合 但没有成功 我努力了key key gt 双引号 单引号 n 下一行的值 缩进 可能还有其他一些 在我看来我只是使用t key 我在这里撕扯我的头发
  • 将分面 ggplots (facet_wrap) 与 R 中的owplot 对齐

    我正在尝试对齐两个面板图 它们是用facet wrap in ggplot按照以下方式 注意 面板 A 需要保持为空 然而 我注意到面板 B 的 y 轴与面板 C 的最后一个图的 y 轴并不完全对齐 尽管选项axis lb 在两个方面 Co
  • 按日期对 HashMap 进行排序

    在 Java 类中 我有一个按日期重新排序现有 HashMap 的方法 HashMap 是一种类型