gpt4 book ai didi

java - 在 string[] 中存储排序后的 hashmap 的键值

转载 作者:行者123 更新时间:2023-12-02 08:11:05 25 4
gpt4 key购买 nike

我很抱歉发布这个不清楚的问题。这是我第一次使用 hashmap,因此我很困惑。试图在这里以更好的方式解释这个问题 - store key values of hashmap in string[]

我有一个基于值排序的 HashMap 。我想从排序映射中提取键并将它们存储在 String[] 数组中。键的顺序(按值排序)很重要。我使用此代码对值的 HashMap 进行排序 - http://www.xinotes.org/notes/note/306/

为了提取 key 数组,我尝试了

 String[] keys = (String[])( hm.keySet().toArray( new String[hm.size()] ) )

(这里 hm 是 HashMap )

但是这个方法并没有起作用。键 string[] 有键,但不符合我想要的排序顺序。

<小时/>

更新:我使用 linkedHashMap 并能够将排序后的键值存储在数组中。 Here是代码的链接。

最佳答案

根据拼写错误以及您对使用 HashMap 的说明,键检索的顺序将与插入顺序不一致。为此,请使用 LinkedHashMap。这是使用您进行外部排序,然后将排序的条目插入到 map 中。

如果您希望在将条目插入 Map 时对其进行排序,请使用 TreeMap。您可以使用自定义比较器或让您的关键对象实现 Comparable 接口(interface)。

关于java - 在 string[] 中存储排序后的 hashmap 的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com