java - HashMap 映射值略有偏差

标签 java arrays hashmap

数组列表

This is jumblesOrdered: [act, aprt, art, dgo, fgor, opst]

This is jumbles: [arpt, atc, atr, gdo, grof, otsp]

输出:

This is jumbleWordHM: {opst=otsp, art=atr, fgor=grof, dgo=gdo, aprt=atc, act=arpt}

HashMap 代码:

        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);
        }

    }

我的 jumbleWordHM 输出略有偏差。输出应该是:

    This is jumbleWordHM: {opst=otsp, art=atr, fgor=grof, dgo=gdo, ****aprt=arpt, ****act=atc}

** 表示需要切换的内容。

最佳答案

您的第一个 ArrayList 开头为:

  • [行动,准备,...

您的第二个 ArrayList 开头为:

  • [机场、空中交通管制、...

您将按顺序获取元素,因此它将使用第一个列表的第一个元素作为键,使用第二个列表的第一个元素作为值,并按照您将它们放入 map 的方式进行操作.

如果不能保证顺序,则需要添加代码来查找包含相同字母的字符串。

关于java - HashMap 映射值略有偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976541/

相关文章:

java - 如何用Gson反序列化子类?

java - Clojure 在项目中的用例

javascript - 如何获得与数组相同的结果但没有第三个括号?

arrays - 在 UITableView 的数组中搜索类的属性

c++ - int * [2] 是个什么样的变量?如声明 int* p2[2]

java - HashMap 方法的时间复杂度

java - 如何以最佳方式对 Hashmap 中的字母数字键进行排序?

java - Spring Security - 无法注销

Java 圆形(6 段)

java - 所有键中的 HashMap 值都会更新