当前位置: 首页 > 知识库问答 >
问题:

按值降序排序HashMap

法子昂
2023-03-14

我有一个HashMap与文档作为关键和一个值作为价值。

我的目标是通过降序值对Hashmap进行排序。。reverse()应在comparingbyValue()之后,但与sorted冲突。我如何解决这个问题?

HashMap<Document, Double> sortedMap = Map.entrySet().stream().sorted(Entry.comparingByValue())
                .collect(Collectors.toMap(Entry::getKey, Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));

共有1个答案

刘浩思
2023-03-14

HashMap基本上是未排序的。树映射基本上是按键排序的。换句话说,你不能这么做。刚才是怎么回事。您有两个选择:

然后只需使用带有自定义比较器的TreeMap

创建一个元组类,然后通过将每个k/v对转换为一个元组将整个内容复制到ArrayList中,然后根据需要对该列表的值进行排序,然后将整个内容移动到保留顺序的LinkedHashMap中。现在,如果不再次执行整个例程,就无法修改该内容。

如果两者都不可接受,你就必须重新开始。

 类似资料:
  • 问题内容: 我正在使用map接口从文件中读取,然后将其中的值存储为键值对。文件格式如下 我将从该文件中读取数据并将其存储为键值对,然后将其显示给用户。我的要求是以这种格式显示结果 因此,我需要按值的降序对地图进行排序。这样我就可以将它们显示为我的结果..我已经阅读了有关此内容并找到了以下代码 我希望这将按升序对值进行排序,我只想知道此方法是否正确,或者其他有效方法对我有帮助? 问题答案: 由于您可

  • 我们必须按降序对数组进行部分排序。 我知道d::partial_sort但它是按升序排列的。 http://en.cppreference.com/w/cpp/algorithm/partial_sort. 是他们的任何其他这样的功能,可以这样做,或任何快速算法这样做。

  • 问题内容: 如何在如下所示的SQLAlchemy查询中使用ORDER BY ? 此查询有效,但以升序返回: 如果我尝试: 然后我得到:。 问题答案: 来自@ jpmc26的用法

  • 我正在使用PySpark(Python 2.7.9/Spark 1.3.1),并有一个需要过滤的dataframe GroupObject 但它会抛出以下错误。

  • 考虑下面的哈希图: 具有诸如 我需要按值对hashmap进行降序排序,但如果值相等,则按键进行升序排序: 到目前为止,我试着分别按键排序,然后按值排序,但我不相信这种方法。除了创建更多的hashmaps之外,还有什么好方法呢?

  • 我有一个通用的链表,目前由int组成,我想在默认情况下按升序排序,然后切换一个布尔值,按降序排序。我该怎么做?