java - 按字母顺序对 HashMap 键进行排序

标签 java

当前输出:

atc act cat tac
otsp post pots stop spot tops opts
gdo dog god
atr rat tar art
arpt trap tarp part
grof frog

期望的输出:

arpt part tarp trap
atc act cat tac
atr art rat tar
gdo dog god
grof frog
otsp opts post pots spot stop tops

如何将每行的第一个单词按字母顺序排列?

我打印输出的代码是:

for (int i = 0; i < jumblesOrdered.size(); i++) {
String wordAnswer = jumblesOrdered.get(i);

System.out.println(jumbles.get(i) + " " + dictWordHM.get(wordAnswer));

}

我可以在我的 jumbles/jumblesOrdered ArrayList 上应用 Collection.sort 吗?

<小时/>

HashMap

    for (int i = 0; i < dictionaryOrdered.size(); i++) {
        String word = dictionary.get(i);
        String sortedWord = dictionaryOrdered.get(i);

        if (dictWordHM.get(sortedWord) == null) {
            dictWordHM.put(sortedWord, word);
        } else {
            dictWordHM.put(sortedWord, dictWordHM.get(sortedWord) + " "
                    + word);
        }
    }

    for (int i = 0; i < jumblesOrdered.size(); i++) {
        String word = jumbles.get(i);
        String sortedWord = jumblesOrdered.get(i);

        if (jumbleWordHM.get(sortedWord) == null) {
            jumbleWordHM.put(sortedWord, word);
        } else {
            jumbleWordHM.put(sortedWord, jumbleWordHM.get(sortedWord) + " "
                    + word);
        }

    }

最佳答案

如果您想要一个带有已排序键的 Map,我不会使用 HashMap,而是使用 TreeMap,其中 Map 键按照其自然顺序(如果键实现 Comparable)或选择的顺序(如果您使用比较器。

关于java - 按字母顺序对 HashMap 键进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22978052/

相关文章:

java - 根据值动态设置颜色 Java Swing

java - 如何使用 Java 从文本框 Webdriver 获取类值

java - 在极其庞大的数据集中查找重复项

java - Tomcat 无法解析 '<%@ include file' ,可能与 taglibs JasperException : File Not Found 有关

java - 如何在 Slick2D 中向图像/ Sprite 添加碰撞?

java - Android 日期至今的天数

java - 是否有 HTML5 WebSockets 的 Java 小程序实现?

java - 使用构造函数注入(inject)模式对 spring boot 进行集成测试

java - WebSocket key1+key2+8_byte_data != 16 字节(128 位)?

java - 使用 LinkedStack 中的值重新绘制不起作用