在 Java 中,我们可以使用 TreeMap 该类按键对映射进行排序。这个类非常方便使用。但是,有时我们需要按其值对地图进行排序。如何通过其值对Map进行排序是 Java程序员 最常问的问题。在这篇文章中,我将开发编写这种方法的最佳方法。
1.一般方法
以下是对<String,Integer>对的映射进行排序的解决方案。这通常用于计算单词的频率。
这是comparator类实现。
在此解决方案中,我们使用TreeMap对地图进行排序。在创建TreeMap时,我们给它一个comparator。comparator接受字符串并比较映射中给定字符串键的关联值。
该方法运行良好,但它仅适用于排序String和Integer对。如果我们想要使用其他类型的键和值对Map进行排序,则需要重写它。因此,更通用的解决方案是优选的。
2.更一般的解决方案
我们可以忽略泛型类型,并使方法适用于以下任何类型。
该解决方案不是类型安全的,我们需要一种类型安全的通用解决方案。
3.使用通用类型
怎么样,这三种方法学会了吗?如果又不懂的地方和小知识点可以在评论中提问,如果有好的建议和意见一样可以指出。
后记:对于大部分转行的人来说,找机会把自己的基础知识补齐,边工作边补基础知识,真心很重要。