对 Hashmap 内的对象值进行排序

2023-12-08

我想按对象的值对哈希图进行排序。在本例中,按国家/地区代码。

  KEY              OBJECT                        
  String        LoyaltyCountry
                     - country name
                     - country code
                     - country loc

我的代码如下:

public static HashMap<String, LoyaltyCountry> loyaltyCountrySortMap(HashMap<String, LoyaltyCountry> loyaltyCountryMap) {

            if (loyaltyCountryMap != null) {
                List keys = new ArrayList();
                keys.addAll(loyaltyCountryMap.keySet());
                Collections.sort(keys, new Comparator<LoyaltyCountry>() {
                    public int compare(LoyaltyCountry o1, LoyaltyCountry o2) {
                        return o1.getCountryName().compareTo(o2.getCountryName());
                    }
                });
            }

            return loyaltyCountryMap;
        }

我怎样才能正确地做到这一点?


下面的方法返回一个 Set,其中包含按值排序的 Map.Entry 项。

public static <K, V extends Comparable<? super V>> SortedSet<Map.Entry<K, V>> entriesSortedByValues(Map<K, V> map) {
    SortedSet<Map.Entry<K, V>> sortedEntries = new TreeSet<Map.Entry<K, V>>(
            new Comparator<Map.Entry<K, V>>() {
                @Override
                public int compare(Map.Entry<K, V> e1, Map.Entry<K, V> e2) {
                    return e1.getValue().compareTo(e2.getValue());
                }
            });
    sortedEntries.addAll(map.entrySet());
    return sortedEntries;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 Hashmap 内的对象值进行排序 的相关文章

随机推荐

  • 窗函数的确定性排序顺序

    I ve a status表 我想获取最新的详细信息 Slno ID Status date 1 1 Pass 15 06 2015 11 11 00 this is inserted first 2 1 Fail 15 06 2015 1
  • 这是否需要显式同步?

    我有两个线程 我想确保我在 LinkedBlockingQueue 上正确执行同步 这是正确的吗 或者 messageToCommsQueue 上的显式同步不需要吗 宣言 private LinkedBlockingQueue
  • 使用 python 2.5 将 zip 文件下载到本地驱动器并将所有文件解压到目标文件夹

    我正在尝试将 zip 文件下载到本地驱动器并将所有文件提取到目标文件夹 所以我想出了解决方案 但它只是将文件从一个目录 下载 到另一个目录 但它不适用于下载文件 对于提取 我可以让它在 2 6 中工作 但不能在 2 5 中工作 因此 我绝对
  • 错误:“stod”未在此范围内声明

    我正在开发一个 C 项目 我需要将字符串转换为双精度数 但我不断收到错误 stod 未在此范围内声明 仓促答复将不胜感激 include
  • 使用react-native切换手电筒(世博会)

    我正在尝试从我的反应本机导出应用程序切换手电筒 这Plugin不起作用 因为我正在使用 expo flashMode 属性世博相机组件允许我在拍照时切换闪光灯 有没有办法以其他方式切换手电筒 解决了React Native Expo 项目中
  • 单元测试 typescript 指令模板 karma-jasmine,html 未定义

    最近 我开始使用 karma jasmine 对我的打字稿代码进行单元测试 在为服务和简单 指令创建并运行测试用例后 我为自定义指令创建了一个测试用例 该测试用例有一个控制器 正在注入一项服务 并使用 4 个作用域变量与外界通信 这是一个简
  • Google Apps 脚本 - 从 HTML 创建 PDF 时不显示图像

    我正在尝试编写一个脚本 该脚本将输出带有已输入表单的值的 PDF 在此 PDF 中 我想在页面顶部添加一个徽标 该徽标是 Google Drive 文件夹中的图像 基于这个问题 和其他 图像需要转换为 base64 然后添加到 HTML 我
  • 泛型类型的实例[重复]

    这个问题在这里已经有答案了 我的问题是这样的 为什么不能用 new T 实例化泛型类型 而用类 Class 的 newInstance 就可以呢 您需要使用反射 newInstance 因为在编译时 需要链接其构造函数的类是未知的 所以编译
  • 如何使用JavaScript函数重定向到Struts2中的另一个jsp页面

    我想在打开时使用 JavaScript 函数将 JSP 重定向到另一个页面BeforeLogin页 但我收到以下错误消息 找不到 Struts 调度程序 这通常是由于使用 Struts 标签而没有关联的过滤器造成的 Struts 标签仅在请
  • 如何将 eval() 函数与变量列表一起使用?

    我有一个字符串形式的函数列表 y x 3 x 2 y 2 17 2 functions in list 我有一个清单Sympy Symbol对象 基本上是变量 whos name属性对应于函数字符串中的变量名称 Symbol x Symbo
  • 客户可配置的 ASP.NET 网站安全性,用于对页面和按钮访问进行细粒度控制

    我有一个 ASP NET 2 0 还没有 ajax 网站 将以编译的形式部署在多个客户站点上 通常该站点仅是 Intranet 一些客户信任他们的所有人 并且不关心限制对网站和 或页面功能的访问 另一些客户不信任任何人 只希望某些人和 或组
  • 哪个 Visual Studio 组件包含 MSVC Hostx 文件? [复制]

    这个问题在这里已经有答案了 My NET溶液含有一个editbin命令输入PostBuild events 我们尝试创建一个Docker容器用于编译我们的解决方案 为此 我们安装了VS17与安装人员 我们找不到哪个成分我们应该选择得到edi
  • 在Python中读取JSON格式的字符串

    我在 python 中有一个简单的 Websockets 服务器 它从 Android 应用程序客户端接收消息 我尝试以 JSON 格式从客户端生成消息负载 但我觉得 仅当它在字符串中时才起作用 我发现的一种解决方案是保留消息字符串 但采用
  • PHP中检查变量是否为数字和正整数?

    例如 说 如何检查变量是否存在 post id是一个数字 并且是一个正整数 即 0 9 不是浮点数 分数或负数 EDIT 无法使用is int cause GET返回一个字符串 认为我需要使用intval or ctype digit 后者
  • Windows 上的 Eclipse 上的 OpenCV

    我正在尝试在 Windows 上安装 opencv 这是我的步骤 从网站下载opencv 2 4 3 运行exe 将文件夹解压到同一路径中 打开eclipse 之前设置并配置了MinGW 创建了新项目 XYZ 添加了新文件夹 src 添加了
  • 在 nlog 中以编程方式创建数据库以启用 DatabaseTarget

    我正在 C 中创建一个 DatabaseTarget 对象 并使用它将数据记录到 NLog 数据库中 如果数据库不存在 nlog 目标将失败 我想检查数据库是否存在 以及是否没有创建它和日志表 我可以看到 targetDB Install
  • 数据透视表手动更新不起作用

    我有一个数据透视表 我试图根据数组中的值选择某些数据透视项 我需要这个过程更快 所以我尝试使用 application calculation xlcalculationmanual 和pivottables manualupdate tr
  • 检查曲线是否闭合

    如何有效地检查曲线是否闭合 例如看这个图 曲线在黑色背景上始终为白色 我尝试使用洪水填充算法 但在这种情况下效果不佳 我不明白如何修改它 这里是代码 public static boolean isWhite BufferedImage i
  • 锁定文件以便在 Windows 上访问

    Using portalocker我们可以通过以下方式锁定文件的访问 f open M99 r portalocker lock f portalocker LOCK EX The lock可以使用删除该文件 f close or port
  • 对 Hashmap 内的对象值进行排序

    我想按对象的值对哈希图进行排序 在本例中 按国家 地区代码 KEY OBJECT String LoyaltyCountry country name country code country loc 我的代码如下 public stati