当前位置: 首页 > 面试题库 >

Java 基于键的hashmap排序

常嘉平
2023-03-14
问题内容

我在Java中具有以下哈希图:

{B046 = 0.0,A061 = 3.0,A071 = 0.0,B085 = 0.0,B075 = 3.0,B076 = 9.0,B086 = 3.0,B095 = 0.0,B096 = 0.0,A052 = 0.0,B066 = 0.0,B056 = 9.0,B065 = 0.0,B055 = 9.0}

我应该如何对哈希图进行排序,以便考虑字母和数字?

生成的哈希图应如下所示:

{A052 = 0.0,A061 = 3.0,A071 = 0.0,B046 = 0.0,B055 = 9.0,B056 = 9.0,B065 = 0.0,B066 = 0.0,B075 = 3.0,B076 = 9.0,B085 = 0.0,B086 = 3.0,B095 = 0.0,B096 = 0.0}

感谢帮助!


问题答案:

使用排序TreeMap

Map<String, Float> map = new TreeMap<>(yourMap);

它将自动放置按键排序的条目。我认为自然String排序适合你的情况。

注意,HashMap由于查找优化,不会保留顺序。



 类似资料:
  • 我正在尝试使用一个以我的类单元格为键的HashMap。但是,在将项放入HashMap之后,对该项调用contains将返回false。 这会打印出false和true,在这里应该打印true和true,因为根据映射,docs containsKey使用.equals()。我做错了什么?

  • 问题内容: 你好,我需要实现一个接收HashMap并按键对它的值进行排序(mergeSort)的方法 (不使用TreeMap,SortedMap或Collections.Sort或使用JAVA Packages中的任何排序解决方案) 。我的问题是处理通配符类型…这是我的实现(由于使用通配符而返回编译错误) 我感谢您的帮助! 问题答案: 像其他评论者一样,我建议您阅读Java中的泛型主题。您在合并中

  • 问题内容: 我正在使用HashMap构建同义词库来存储同义词。 我正在尝试根据正则表达式搜索单词:该方法将必须将字符串作为参数并返回结果数组。这是我的第一个方法: 现在,这不符合我的预期(或者我使用的正则表达式不正确)。如果我在哈希图中具有以下键: 然后打电话或我得到。 我如何使这项工作按预期进行? 是否有比HashMap更好的数据结构来保留同义词库所需的类似数据?(仅出于好奇,对于此任务,我们被

  • 我有一个<code>HashMap 有没有比排序HashMap更好的解决方案,然后使用 顺便说一句,我一开始并不一定要使用HashMap,但值设置了顺序,我不想交换键和值,因为浮点值可能会改变好几次。

  • 我有一个带有键的HashMap,值是字符串。我想通过以字符串“locationid”开头的键值过滤HashMap,并将键中的值返回到字符串数组列表中。HashMap的填充方式如下: 我需要arraylist中的ORG_Id值。 我找不到可以将值放入字符串列表的位置。编译错误是它不识别values()方法。 更新还尝试将筛选后的Hashmap放入另一个Hashmap中,如下所示: 但得到的编译错误是

  • 问题内容: 可以说我有这样的表: 我想得到的是这样的表: 发生的第一件事是基于column进行排序。 发生的第二件事是基于列的,但仅基于列中具有相同数字的行 在不使用任何数据库引擎的情况下应该如何解决此问题? 问题答案: 通常,通常使用where 是包含所有三个值的类型(例如,“ foo”,第一行的5、0)来执行此操作。 然后,您将编写一个比较在中呈现给它的两个对象的Int1值的,如果给出了明确的