Java HashMap映射的值稍微关闭

Java HashMap映射的值稍微关闭,java,arrays,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 < ju

阵列主义者

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

    }

**表示需要切换的内容

您的第一个ArrayList以以下内容开头:

  • [act,aprt,…]
第二个ArrayList以以下内容开头:

  • [arpt,atc
您将按顺序获取元素,因此它将使用第一个列表中的第一个元素作为键,使用第二个列表中的第一个元素作为值,并使用您将它们放入映射中的方式


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

为什么要将
act
放在混乱中的第一位和
arpt
放在混乱中的第一位?混乱顺序是每个字符串中每个字母的字母顺序
act
不是按字母顺序排列的
arpt
秩序。
    This is jumbleWordHM: {opst=otsp, art=atr, fgor=grof, dgo=gdo, ****aprt=arpt, ****act=atc}