可以按值的顺序迭代的映射

2024-01-03

我需要一个可以递减迭代的 Map其值的顺序。 Apache Commons 或 Guava 等标准库是否提供这种映射?


我会用番石榴来做到这一点,如下所示:

Ordering<Map.Entry<Key, Value>> entryOrdering = Ordering.from(valueComparator)
  .onResultOf(new Function<Entry<Key, Value>, Value>() {
    public Value apply(Entry<Key, Value> entry) {
      return entry.getValue();
    }
  }).reverse();
// Desired entries in desired order.  Put them in an ImmutableMap in this order.
ImmutableMap.Builder<Key, Value> builder = ImmutableMap.builder();
for (Entry<Key, Value> entry : 
    entryOrdering.sortedCopy(map.entrySet())) {
  builder.put(entry.getKey(), entry.getValue());
}
return builder.build();
// ImmutableMap iterates over the entries in the desired order
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以按值的顺序迭代的映射 的相关文章

随机推荐

  • 是否可以创建一个没有 EOF 标记的文件?

    我们有一个读取平面文件并解析数据的应用程序 该文件不包含用于进行校验和的标头信息或总数据 所以我想创建测试用例以确保我们的应用程序正确处理 不完整 文件 有没有办法创建没有 EOF 标记的平面文件 也许有一个工具可以用来从现有文本文件中删除
  • 仅允许管理员删除文件?

    我正在编写一个 C 应用程序 我想设置 在应用程序启动时 权限 以便只有管理员才能删除应用程序使用的文件 所有其他用户不应删除它或修改其权限 应保护该文件免受标准文件系统使用的影响 因此 除了管理员之外 没有人可以删除它 只有管 理员应该能
  • DOMDocument::loadHTMLFile() 修改用户代理

    我使用 PHP 在 DOM 树中加载网站 有没有办法修改使用发送的用户代理DOMDocument loadHTMLFile function parseThis url html new DOMDocument html gt loadHt
  • 在 Android 应用程序中播放背景声音

    我想在我制作的应用程序中播放背景声音 帮我看看我该怎么做 这是完整的代码 public class Numbers extends Activity public static MediaPlayer mp null Override pr
  • input['file']accept="image/*" 用 Chrome 打开对话框太慢了

    当我使用
  • Anaconda 3.5(64位Windows)安装cx_Oracle

    我已经安装了适用于 Windows 64 位的 Anaconda 3 5 并且需要使用包 cx Oracle 连接到 Oracle 数据库 我尝试使用 anaconda 方式 conda install c https conda anac
  • 运行 json_encode 后替换 \r\n (换行符)

    因此 当我运行 json encode 时 它 也会从 MySQL 获取 r n 我尝试重写数据库中的字符串但无济于事 我尝试将 MySQL 中的编码从默认的 latin1 swedish ci 更改为 ascii bin 和 utf8 b
  • Unicode 字符使用统计[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找有关文本文档 带有任何标记 中 Unicode 字符使用情况的一些统计数据 谷歌搜索没有结果 背景 我目前正在开发一种基于有限状
  • 是否有支持多字节的 Postgresql Levenshtein?

    当我使用模糊匹配编辑带有变音符号的函数会返回错误 多字节无知的结果 select levenshtein a x levenshtein 2 注意 第一个字符是一个 a 下面有一个变音符号 我复制到这里后它没有正确呈现 The 模糊匹配文档
  • 在 pandas DataFrame 中搜索列

    我需要获取 pandas DataFrame 的列名称 其中列与 numpy 数组中的列匹配 Example import numpy as np import pandas as pd x pd DataFrame data 0 0 1
  • 使用 Rhino 从评估的 JS 中获取函数名称及其参数

    我在用着Rhino https www mozilla org rhino 做完之后 Context cx Context enter Scriptable scope cx initStandardObjects cx evaluateS
  • postgreSQL查询jsonb列中的空数组字段

    device id device 9809 name printer tags 9810 name phone tags count 2 price 77 count 3 price 37 对于包含数组 tags 的 jsonb 列 dev
  • 将 SQL 列中的项目与数组进行比较

    我有一个 SQL Server 表 我想在其中查询值等于数组中项目的行上的项目 这是我的例子 Column1 Column2 Column3 aaa 100 200 bbb 100 400 aaa 200 78 ccc 200 200 还有
  • 使用 as.data.frame 函数为数据框分配名称

    我正在尝试将矩阵转换为数据框 并在一行中分配名称 正如我使用的 as data frame有一个参数叫col names这似乎对我不起作用 我做错了什么吗 as data frame matrix c 1 4 nrow 2 col name
  • 为什么 中缺少某些传感器的枚举值?使用它们安全吗?

    似乎缺少某些传感器的枚举值
  • 给定序列中的子序列数

    如果给我一个序列X x1 x2 xm 那么我将有 2 m 子序列 谁能解释一下我如何直观地得出这个公式 我可以从 3 个元素开始 然后是 4 个元素 然后是 5 个元素 然后得出这个公式 但我认为我不明白 2 从哪里来 我不会在这里分成两半
  • Cassini/WebServer.WebDev、NUnit 和 AppDomainUnloadedException

    我正在使用 Cassini WebServer WebDev 使用 NUnit 运行 WebService 的一些自动化测试 我没有做任何花哨的事情 只是 public class WebService Microsoft VisualSt
  • Sails js 9.4 - 资产未被复制

    First sails 没有创建 tmp public 所以我手动创建了 但它也不会将我的资产文件夹中的内容复制到我的公共文件夹中 有人可以解释这是为什么吗 当时我得到的答案没有帮助 我现在已经更新到9 8了 好像没有什么问题 我也有同样的
  • 在 phpmyadmin 中导入/导出非常大的 mysql 数据库

    我在 phpmyadmin 中有一个数据库 有 3000000 条记录 我想将其导出到另一台电脑 现在 当我导出时 仅将 200000 个条目导出到 sql 文件中 并且也不会导入到其他电脑上 为任何登陆这里的人回答这个问题 如果您因为没有
  • 可以按值的顺序迭代的映射

    我需要一个可以递减迭代的 Map其值的顺序 Apache Commons 或 Guava 等标准库是否提供这种映射 我会用番石榴来做到这一点 如下所示 Ordering