数组列表
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/