我有一个<code>HashMap
有没有比排序HashMap更好的解决方案,然后使用
ArrayList<String> sortedKeys = new ArrayList<String>(myHashmap.keySet());
顺便说一句,我一开始并不一定要使用HashMap,但值设置了顺序,我不想交换键和值,因为浮点值可能会改变好几次。
如果我理解正确,您可以先从键创建数组列表,然后排序:
ArrayList<String> list = new ArrayList<>(myHashMap.keySet());
list.sort(Comparator.comparing(myHashMap::get));
您可以使用流API:
List<String> sortedKeys = myMap.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue())
.map(Map.Entry::getKey)
.collect(Collectors.toCollection(ArrayList::new));
我在Java有一个源HashMap: 存储各种长度的关键字。我想遍历这个HashMap并计算出存储在映射的字符串部分中的ngram的长度,该字符串部分定义了每个关键字的文本。 使用这些数据,我想填充一个HashMaps的目标ArrayList: 结果是,ArrayList的索引对应于给定关键字的ngram大小减去1,即keywordNGrams(0)将接收unigrams,keywordNGram
问题内容: 我需要根据存储在其中的值对我进行排序。在包含存储在手机联系人的名字。 另外,我还要求在对值进行排序时对键进行自动排序,否则你可以说键和值绑定在一起,因此值的任何更改都应反映在键中。 要求的输出: 问题答案: 尝试下面的代码对我来说很好。你可以选择升序和降序 编辑:版本2 使用了新的Java功能,例如流for-each等 如果值相同,则地图将按键排序
今天好,这有点让我迷惑(大脑冻结!)好像少了些什么。有一个我用HashMap填充的ArrayList。现在我放入了我的HashMap和ArrayList。 由于am解析JSON,arraylist的大小显著增加。现在我的问题是如何从ArrayList中的两个映射键中获得值?我试过这个 但我似乎不能得到所有的值。映射大小总是返回值2,这只是元素。如何从ArrayList中的映射键获取所有值?谢谢
问题内容: 你好,我需要实现一个接收HashMap并按键对它的值进行排序(mergeSort)的方法 (不使用TreeMap,SortedMap或Collections.Sort或使用JAVA Packages中的任何排序解决方案) 。我的问题是处理通配符类型…这是我的实现(由于使用通配符而返回编译错误) 我感谢您的帮助! 问题答案: 像其他评论者一样,我建议您阅读Java中的泛型主题。您在合并中
假设我有一个带有字符串键和整数值的HashMap: 我想通过将这些信息放入另一个HashMap中来切换键和值。我知道一个HashMap不能有重复的键,所以我尝试将信息放入一个HashMap中,其中包含映射到字符串ArrayList的键的整数,这样我就可以有一个整数映射到多个字符串: 我在这里的目标是能够对任何一组数据进行“反转”,否则我只能硬编码值。我从上面的代码中得到的输出是: 正如您所看到的,
嗨,我有一个HashMap的ArrayList,我需要HashMap按其键值排序。 循环开始: 循环结束: 我需要newList按键标记排序。 我怎么弄?