Java Map Value Comparator,插入时排序

2024-04-13

我想使用值比较器将项目插入 HashMap、TreeMap 或 SortedMap(您可能会建议一些其他 api)。

我读过很多帖子,包括这个one https://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on-the-values-in-java,大多数帖子建议在插入所有项目后将 HashMap 重新插入到具有值比较器的 SortedMap 中。

我没有兴趣再次重新插入所有值。是否没有一个选项或类似 Map 的数据结构支持在每次插入后激活值比较器?

如果存在重复的问题,我希望有一个链接(我已经做了一些搜索,尽管我可能错过了一些)

同样,我有兴趣向某种有序映射添加一个值,以便在每次插入后,所有项目都将按值而不是键排序。

Map 条目中的值实际上是一个带有一些 getter 的复杂对象,我只想按值对象上的特定 getter 进行排序。


我想你需要的是org.apache.commons.collections.bidimap.TreeBidiMap http://commons.apache.org/collections/apidocs-COLLECTIONS_3_1/org/apache/commons/collections/bidimap/TreeBidiMap.html

BidiMap 基于红黑树的实现,其中添加的所有对象都实现 Comparable 接口。

此类保证映射将采用升序键顺序和升序值顺序,并根据键和值的类的自然顺序进行排序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Map Value Comparator,插入时排序 的相关文章

  • 我可以在 Java 枚举上使用构建器模式吗

    我正在重写一些代码 并且我已经决定了重新创建类的方法 因为有固定数量的工作表 我将它们创建为枚举 这是基于构建器模式与伸缩构造器的可读性的决定 我的代码获取一些 xls 文件 添加标题 并从其他 xls 文件中读取一些 也许还有一些子表 然
  • string.split("(?!^)") 解释

    我正在尝试将字符串的字符拆分为字符串数组 我找到了解决方案here https stackoverflow com questions 5235401 split string into array of character strings
  • 从 Eclipse 导出后,WAR 文件中缺少一些必要的库 - 为什么?

    我接手了一个大学的项目 其中包含一些 Web 服务 通过将项目导出为 WAR 文件 一些库包含在文件中 例如 Axis2 而另一些则不包含 hibernate JDBC 驱动程序 另外 添加到类路径中的 jar 尚未导出 所有库都位于硬盘驱
  • selenium 2.0 中的 isElementPresent

    大家好 我正在使用 webdriver 所以如果我想使用 selenium s rc 函数 isElementPresent 我必须模拟 selenium rc 所以我会执行以下操作 import org openqa selenium B
  • Java:等于和==

    让我们看看我们有 2 个对用户定义类实例的引用 即 Java 中的 a 和 b 会不会有一种情况 a b 但 a equals b 返回 false 当然 实施 equals 完全取决于班级 所以我可以写 class Foo public
  • Java:将二维字符串数组打印为右对齐表格

    是什么best打印a的单元格的方法String 数组作为右对齐表 例如 输入 x xxx yyy y zz zz 应该产生输出 x xxx yyy y zz zz 这似乎是一个should能够完成使用java util Formatter
  • 如何使用 tweepy 仅提取主题标签中的文本?

    我想为我的情感分析项目提取主题标签 但是我得到了一个字典列表 其中包含所有主题标签及其在推文中的索引 我只想要文字 我的代码 data tweepy Cursor api search q since a i until b i items
  • 对象映射器 - YAMLFactory - 由于缺少 _createContentReference 方法而出现异常

    我正在使用最新的 2 13 0 版本的 jackson 当我尝试解析 YAML 文件时 出现此异常 java lang NoSuchMethodError com fasterxml jackson core io ContentRefer
  • 如何组合 3 个或更多 CompletionStages?

    如果有 2 个 CompletionStages 我可以将它们与thenCombine method CompletionStage a aCompletionStage getA CompletionStage b bCompletion
  • 在实现接口的类上强制使用单例模式

    我最好用一个例子来解释这个问题 我有一个接口模型可用于访问数据 模型可以有不同的实现 可以以各种格式表示数据 例如 XMl txt 格式等 Model不关心格式 可以说这样的一个实现是myxml模型 现在我想强迫myxml模型以及其他所有实
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com
  • Java MYSQL/JDBC 查询从缓存的连接返回过时的数据

    我一直在 Stackoverflow 中寻找答案 但似乎找不到不涉及 Hibernate 或其他数据库包装器的答案 我直接通过 Tomcat 6 Java EE 应用程序中的 MYSQL 5 18 JDBC 驱动程序使用 JDBC 我正在缓
  • 覆盖Java中的属性[重复]

    这个问题在这里已经有答案了 在 Java 中 我最近有几个项目 我使用了这样的设计模式 public abstract class A public abstract int getProperty public class B exten
  • 尝试通过 Java 8 中的 JDBC-ODBC 连接到 .accdb 文件时出现 ClassNotFoundException

    我正在 Eclipse EE IDE 中的 Java 项目中工作 我必须在其中查询 accdb文件 问题是当我尝试加载驱动程序然后连接到数据库时 它给了我一个异常错误 My code try String filePath myfilepa
  • Java 9:AES-GCM 性能

    我进行了一个简单的测试来测量AES GCM https en wikipedia org wiki Galois Counter Mode表现在Java 9 通过在循环中加密字节缓冲区 结果有些令人困惑 本机 硬件 加速似乎有效 但并非总是
  • 可空日期列合并问题

    我在 Geronimo 应用程序服务器上使用 JPA 和下面的 openjpa 实现 我也在使用MySQL数据库 我在更新具有可为空 Date 属性的对象时遇到问题 当我尝试合并 Date 属性设置为 null 的实体时 不会生成 sql
  • Bipush 在 JVM 中如何工作?

    我知道 iload 接受整数 1 到 5 但是如何使用 bipush 指令扩展到更高的数字 特定整数如何与字节码一起存储 有几种不同的指令可用于推送整数常量 最小的是iconst 指令 这些只是一个字节 因为该值是在操作码本身中编码的 ic
  • 在 Spark MLlib 上使用 Java 中的 Breeze

    在尝试从Java使用MLlib时 使用微风矩阵运算的正确方法是什么 例如scala 中的乘法很简单 matrix vector 相应的功能在Java中是如何表达的 有一些方法 例如 colon times 可以通过正确的方式调用 breez
  • 如何在 tomcat 上部署 Java Web 应用程序 (.war)?

    我有一个 warJava Web 应用程序的文件 现在我想将它上传到我的 ftp 服务器 以便我可以执行它 我应该执行哪些步骤来运行它 webapp的上下文路径是 mywebapp Edit 实际上 我的 ftp 服务器名称是ftp bil
  • ImageIO.read(...) - 非常慢,有更好的方法吗?

    我正在加载大量将在我的应用程序中使用的图标 我计划在服务器启动时从 jar 中加载所有这些 然而 由于数百张图像加起来刚刚超过 9MB 执行此任务仍然需要 30 秒多的时间 我现在正在一个单独的线程中执行此操作 但这让我想知道我是否在代码中

随机推荐

  • 从 GitHub 拉取请求获取评论列表

    根据http developer github com v3 pulls comments list comments on a pull request http developer github com v3 pulls comment
  • 泛型错误:预期类型参数,找到结构

    我开始了一个新项目 我希望尽可能模块化 我的意思是我希望将来能够用其他部件替换某些部件 这似乎是一个完美的用途traits 目前我有这个代码 mod parser mod renderer mod renderers use parser
  • 我的 Django URL 没有显示破折号

    我正在尝试找出一个与domain com about us 和domain com home 匹配的网址 我有一个网址正则表达式 P
  • JavaScript 无法在脚本标签中工作? [复制]

    这个问题在这里已经有答案了 我需要知道为什么要这样做 因为我在网站的脚本标签中使用了 javascript 但它不起作用 为什么我的javascript在脚本标签中不起作用 切换不会切换 http jsfiddle net J7L4k 2
  • 如何获取 asp.net c# 的发布数据[重复]

    这个问题在这里已经有答案了
  • WiX 在构建服务器上失败

    我有一个使用 WiX 的项目 它在我的本地计算机上运行良好 但是当我发布到构建服务器时 构建会因以下内容而崩溃 来自 MSBuild 日志 Using HeatDirectory task from assembly C Program F
  • 为什么标准没有提供擦除删除惯用语的便利帮助程序?

    从 STL 中的集合中删除项目需要一种经常使用的技术 该技术已成为一种习惯用法 擦除 删除 惯用语 https en wikipedia org wiki Erase E2 80 93remove idiom 这个习语最常见的用法之一是删除
  • 如何找出当前页面上的光标位置?

    我向页面添加了一堆内容 例如document add p 然后我使用文档添加一个填充两列的表格here http itextpdf com examples iia php id 91 在这个过程中 我使用 column setSimple
  • retrbinary 期间线程化“NOOP”命令

    我编写了一个 FTP 脚本 遗憾的是该脚本必须处理位于防火墙后面的服务器 ISP 也会很早就切断我的控制连接 无论我在防火墙的任一侧设置什么样的超时设置 我最终做出了两个选择 1 在 retrbinary 命令中分叉代码 以便下载完成时每
  • Python 中的标量场可视化

    我需要在 Python 中可视化几个重叠的标量场 我发现mayavi图书馆做这种情节 问题是我不明白如何为标量字段自定义颜色图 我的想法是为每个字段设置一种颜色的阴影 我尝试采用一个例子 http docs enthought com ma
  • 比较列表推导式和显式循环(3 个数组生成器比 1 个 for 循环快)

    我做了作业 无意中发现算法的速度出现了奇怪的不一致 这是相同函数的代码的 2 个版本 但有 1 个区别 在第一个版本中 我使用 3 次数组生成器来过滤某些数组 在第二个版本中 我使用 1 个 for 循环和 3 个 if 语句来执行相同的过
  • 如何在 scipy 层次聚类中获取非单例簇 ID

    根据this http docs scipy org doc scipy reference generated scipy cluster hierarchy dendrogram html scipy cluster hierarchy
  • 如何使用 Laravel 上传视频

    我正在尝试在使用 Laravel 时上传视频 虽然当我更改控制器线路时上传图像对我来说效果很好 echo file file gt getClientOriginalName gt to echo
  • 如何从 JQuery 调用控制器方法?

    我有用于 asp net 非 Mvc 的 ajax 代码来调用 webMethod 以从服务器获取请求的附加数据 但我似乎无法找出在 MVC 中提供 JQuery 的 url
  • join()在线程中有什么用?

    我正在研究 python 线程并遇到join http docs python org 2 library threading html threading Thread join 作者告诉我 如果线程处于守护进程模式 那么我需要使用joi
  • 跟随画布光标的放大镜

    我正在为我的客户设计 T 恤 我使用 html5 canvas 制作了它 衬衫设计师现在已经完成了 但他要求我添加一个放大镜 如下所示 http mlens musings it http mlens musings it 我发现了很多类似
  • 如何在打包并部署为 WAR 的 Springboot 应用程序中启用异步支持

    当我的 SpringBoot 应用程序从可执行 JAR 运行时 下面显示的 REST 端点按预期工作 也就是说 它将文本 我的测试响应 返回给客户端 但是 当我将相同的应用程序打包为 WAR 并部署到 Tomcat 8 0 29 时 它会抛
  • 找不到模块“styled-components/native”的声明文件

    如果你添加styled components对于您的 React Native 项目 有一个专门用于本机组件的子目录 import styled from styled components native export const Cont
  • Coffee HAML 中的部分内容 (.hamlc)

    我在 Rails 后端使用backbone js哈姆咖啡 https github com netzpirat haml coffee 它是由haml 咖啡 资产 https github com netzpirat haml coffee
  • Java Map Value Comparator,插入时排序

    我想使用值比较器将项目插入 HashMap TreeMap 或 SortedMap 您可能会建议一些其他 api 我读过很多帖子 包括这个one https stackoverflow com questions 109383 how to